Other |
---|
openjfx12Fixed |
Blocks :
|
|
Blocks :
|
|
Blocks :
|
|
Duplicate :
|
|
Relates :
|
As part of implementing JDK-8195811, the implementation of JavaFX / Swing interop was refactored to allow for two implementations, the "old" (pre-JDK 11) implementation that relies upon qualified exports of internal Swing and AWT packages, and a "new" (JDK 11) implementation that uses a public API in the jdk.unsupported.desktop module. Once openjfx requires JDK 11 to build and run (see JDK-8209966), we can remove the old implementation and the associated build logic needed to support it. The main tasks will be: 1. Remove the 'oldimpl' package as well as the reference to it from the InteropFactory 2. Unconditionally use jdk.unsupported.desktop from module-info in javafx.swing: a. Move the javafx.swing module-info.java back into src/main/java b. Remove the build logic that copies module-info.java into gensrc and uses it from there c. Change "requires static jdk.unsupported.desktop" to simple "requires jdk.unsupported.desktop" [*] 3. Remove the support for building and running the 'oldimpl' package: d. Remove the build logic that optionally excludes "newimpl" at compile time e. Remove dependencies/java.desktop/module-info.java.extra f. Remove the qualified exports of the 6 internal java.desktop packages from build.gradle g. Remove the HAS_UNSUPPORTED_DESKTOP flag [*] This will have the advantage of not forcing developers to explicitly include jdk.unsupported.desktop in a custom jlinked image when including the javafx.swing module, which is a bug reported in JDK-8210759.
|