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