> **Issue**:
> Below two Gradle 9.0.0 specific warnings are observed with current grade 
> 8.14.2
> 1. The `Project.exec(Closure)` method has been deprecated. This is scheduled 
> to be removed in Gradle 9.0
> 2. Using method `javaexec(Closure)` has been deprecated. This is scheduled to 
> be removed in Gradle 9.0.
> 
> Both these methods are removed in Gradle 9.0.0.
> Hence they should be replaced with appropriate APIs.
> Refer: 
> https://docs.gradle.org/8.14.2/userguide/upgrading_version_8.html#deprecated_project_exec
> 
> **Fix**:
> Both warnings can be fixed by replacing the calls with` 
> ExecOperations.exec(Action)`.
> There are two different scenarios where we use the above two APIs.
> - Gradle files
> - Groovy class files
> => In Both the scenarios, we have to use the `ExecOperations.exec(Action)`, 
> but the approach differs.
> 
> 1. Gradle file
>     - The calls are simply replaced as,
>         * `Project.exec {` is replaced with `execOps.exec { ExecSpec spec ->`
>         * `Project.javaexex {`  is replaced with `execOps.javaexec { 
> JavaExecSpec spec ->`
> 2. For Groovy classes
>     - `ExecOperations` needs to be **injected** using `@Inject` tag
>     1. `NativeCompileTask` class
>         - In the `NativeCompileTask` class, a method `execCompile()` is added 
> which executes an action.
>         - The child classes of `NativeCompileTask`, use this `execCompile()` 
> method.
>     2. Other classes are not related to each other. They independently 
> execute the respective action.
> 
> **Verification**:
> 1. Run all gradle tasks with **—warning-mode all** option, with gradle 8.14.2 
> 2. No Gradle 9.0.0 specific warning is seen in build log
> 4. Build/all tasks complete successfully.

Ambarish Rapte has updated the pull request with a new target base due to a 
merge or a rebase. The incremental webrev excludes the unrelated changes 
brought in by the merge/rebase. The pull request contains two additional 
commits since the last revision:

 - Merge branch 'master' into gradle-900-warnings
 - replace project.exec and project.javaexec

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

Changes:
  - all: https://git.openjdk.org/jfx/pull/1918/files
  - new: https://git.openjdk.org/jfx/pull/1918/files/37c11744..14d07fa9

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jfx&pr=1918&range=01
 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=1918&range=00-01

  Stats: 572 lines in 31 files changed: 463 ins; 39 del; 70 mod
  Patch: https://git.openjdk.org/jfx/pull/1918.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/1918/head:pull/1918

PR: https://git.openjdk.org/jfx/pull/1918

Reply via email to