> 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 incrementally with one additional 
commit since the last revision:

  Add modules/jdk.jsobject/make/build.properties to match other modules

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

Changes:
  - all: https://git.openjdk.org/jfx/pull/1529/files
  - new: https://git.openjdk.org/jfx/pull/1529/files/69513ac2..4640d7f3

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jfx&pr=1529&range=05
 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=1529&range=04-05

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jfx/pull/1529.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/1529/head:pull/1529

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

Reply via email to