On Mon, 9 Oct 2023 14:56:39 GMT, Ambarish Rapte <ara...@openjdk.org> wrote:

> This is gradle only change, which fixes few warnings that are observed with 
> gradle 7.6 and which eventually result to an error with gradle 8.3
> With this change the warnings get fixed and no error is observed with gradle 
> 8.3
> Verified that several gradle tasks(all, sdk, javadoc, apps, shims, test) 
> complete without any failure.
> 
> Warnings that are fixed:
> 1. The SourceDirectorySet.outputDir property has been deprecated. This is 
> scheduled to be removed in Gradle 8.0. Please use the classesDirectory 
> property instead. See 
> https://docs.gradle.org/7.6/dsl/org.gradle.api.file.SourceDirectorySet.html#org.gradle.api.file.SourceDirectorySet:outputDir
>  for more details.
> -> As per this [7.x to 8.0 upgrade 
> guide](https://docs.gradle.org/8.0/userguide/upgrading_version_7.html#sourcedirectoryset_api_cleanup)
>  outputDir should be replaced with `destinationDirectory`
> 
> 2. The AbstractCompile.destinationDir property has been deprecated. This is 
> scheduled to be removed in Gradle 8.0. Please use the destinationDirectory 
> property instead. Consult the upgrading guide for further information: 
> https://docs.gradle.org/7.6/userguide/upgrading_version_7.html#compile_task_wiring
> -> As per the above doc, replacing `destinationDir` with 
> `destinationDirectory` resolves the warning
> 
> 3. Various dependency warnings like one below:
> Gradle detected a problem with the following location: 
> '<path>/rt/modules/javafx.base/build/module-classes'. Reason: Task 
> ':base:modularJarStandaloneMac' uses this output of task 
> ':base:buildModuleMac' without declaring an explicit or implicit dependency. 
> This can lead to incorrect results being produced, depending on what order 
> the tasks are executed. Please refer to 
> https://docs.gradle.org/7.6/userguide/validation_problems.html#implicit_dependency
>  for more details about this problem.
> -> There are several such warning messages observed.
> -> Each warning required an explicit inclusion of dependency. All dependency 
> changes are to fix this warning.
> 
> An easy way to review would be.
> 1. Build with gradle 7.6 (using  `--warning-mode all`  gradle option)
> 1.1 All above warnings can be observed and build completes successfully.
> 
> 2. Build with gradle 8.3 (using  `--warning-mode all`  gradle option)
> 2.1 Without this change build would fail citing above warnings as errors
> 2.2 With this change build completes successfully and above warnings do not 
> occur

build.gradle line 5168:

> 5166:         if (project.tasks.getByName("modularPublicationJar$t.capital") 
> != null) {
> 5167:             
> project.tasks.getByName("modularPublicationJar$t.capital").dependsOn(buildModuleClassesTask)
> 5168:         }

The null check here is required as `project` can be the `rootProject`, which 
does not have those tasks and so would result in build failure with an error.
The failure can be observed by removing the null checks.

-------------

PR Review Comment: https://git.openjdk.org/jfx/pull/1256#discussion_r1350422541

Reply via email to