JDK-8202368 : Create jmods for standalone javafx modules
Type:Enhancement
Component:javafx
Sub-Component:build
Affected Version:openjfx11
Priority:P2
Status:Resolved
Resolution:Fixed
Submitted:2018-04-27
Updated:2018-05-18
Resolved:2018-05-11
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
When JavaFX is bundled with the JDK, the JDK build produces jmod files for the javafx.* modules. We need to modify the JavaFX build to generate jmods for the JavaFX standalone build.
Webrev: http://cr.openjdk.java.net/~kcr/8202368/webrev.00/
This defines a new gradle 'jmods' task and modifies the existing 'publicExports' and 'zips' tasks as follows:
jmods : generates a .jmod file for each JavaFX module in build/jmods
publicExports : copies build/jmods into build/artifacts/javafx-jmods-$VER
zips : creates a build/artifacts/bundles/javafx-jmods-$VER.zip from build/artifacts/javafx-jmods-$VER
You can use this to jlink a JRE image that includes the javafx modules, and optionally includes your application module(s).
I've tested this on Linux and Windows and will test on Mac in parallel with the review.
2018-05-11: I've now tested this on Mac.
11-05-2018
I tested this with both OracleJDK 10.0.1 and OpenJDK 10.0.1 on Linux.
It creates jmods for FX modules with OpenJDK 10.0.1 as expected.
The changes look good. +1.