On Tue, 24 Sep 2024 17:39:18 GMT, Kevin Rushforth <k...@openjdk.org> wrote:
>> Add the `jdk.jsobject` module to JavaFX. This module is currently delivered >> by the JDK, but will be terminally-deprecated in JDK 24 by >> [JDK-8311530](https://bugs.openjdk.org/browse/JDK-8311530), which is out for >> review at openjdk/jdk#20555. We therefore plan to start delivering it with >> JavaFX in JavaFX 24. >> >> ### Testing scenarios >> >> Both JDK and JavaFX for some period of time, so we need to test various >> scenarios. I built and tested this PR branch with each of the following JDKs: >> >> 1. JDK 23 or earlier (I used the default boot JDK, which is currently JDK >> 22.0.2); this JDK includes `jdk.jsobject` as a normal, non-upgradable module >> 2. A locally-built JDK 24 from my >> [8311530-depr-jsobject](https://github.com/kevinrushforth/jdk/tree/8311530-depr-jsobject) >> branch, which has the fix for >> [JDK-8311530](https://bugs.openjdk.org/browse/JDK-8311530); this JDK >> includes `jdk.jsobject` as a terminally-deprecated, upgradable module >> 3. A locally-built JDK 24 from my >> [WIP-rm-jsobject](https://github.com/kevinrushforth/jdk/tree/WIP-rm-jsobject) >> branch, which removes the `jdk.jsobject` module, and is therefore a >> prototype of what will happen in JDK 26 (or later) when it is removed from >> the JDK >> >> I ran a build and test of JavaFX from this PR branch using each of the above >> JDKs. All tests pass. >> >> I then took the JavaFX artifacts built by JDK 1 (matching how we will >> deliver this in JavaFX 24), and ran the following additional tests, all of >> which match my expectations: >> >> * java --module-path=.../jfx/build/sdk/lib without any additional flags >> (required for JDK 1; recommended for JDK 3) <br> RESULT: JDKs 1 and 2 use >> the `jdk.jsobject` module from the JDK; JDK 3 uses the `jdk.jsobject` module >> from JavaFX >> * java --module-path=.../jfx/build/sdk/lib >> --upgrade-module-path=.../jfx/build/sdk/lib (recommended for JDK 2, OK for >> 3) <br> RESULT: JDK 1 will fail to launch; JDKs 2 and 3 use the >> `jdk.jsobject` module from JavaFX >> * jlink with .../jfx/build/jmods ahead of $JAVA_HOME/jmods (recommended for >> JDKs 2 and 3) <br> RESULT: JDK 1 will fail to link; JDKs 2 and 3 use the >> `jdk.jsobject` module from JavaFX >> * jlink with $JAVA_HOME/jmods ahead of .../jfx/build/jmods (required for JDK >> 1) <br> RESULT: JDKs 1 and 2 will use the `jdk.jsobject` module from the >> JDK; JDK 3 uses the `jdk.jsobject` module from JavaFX >> >> I have not verified the maven artifacts, but they are being generated >> correctly. > > Kevin Rushforth 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 10 additional > commits since the last revision: > > - Use --upgrade-module-path when compiling or running tests on JDK 24 or > later > - Merge branch 'master' into 8337280-jsobject > - Update copyright year in settings.gradle > - Merge branch 'master' into 8337280-jsobject > - Merge branch 'master' into 8337280-jsobject > - Merge branch 'master' into 8337280-jsobject > - Update copyright years > - Merge branch 'master' into 8337280-jsobject > - Update to pick up latest version from jdk master > - 8337280: Include jdk.jsobject module with JavaFX I've created the CSRs for both the this PR and openjdk/jdk#20555. ------------- PR Comment: https://git.openjdk.org/jfx/pull/1529#issuecomment-2394707819