JDK-8170485 : Switch to building JavaFX with new module-info syntax
  • Type: Bug
  • Component: javafx
  • Sub-Component: build
  • Affected Version: 9
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2016-11-29
  • Updated: 2016-12-13
  • Resolved: 2016-12-13
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.

To download the current JDK release, click here.
JDK 9
9Fixed
Related Reports
Blocks :  
Description
Once the next round of JDK changes from the jigsaw/jake sandbox are integrated to the jdk9 mainline forest and in a promoted build of the JDK, we need to make changes in JavaFX to support the new module-info syntax.

These changes are already in a parallel src/main/jake directory for those modules that require these changes, so the fix will be:

1. Copy module-info.java from modules/*/src/main/jake to modules/*/src/main/java
2. Remove modules/*/src/main/jake
3. Remove the temporary build logic so that we no longer produce modules_src_jake

Since these changes not backward compatible, we will also need to update the minimum jdk-9 build number at the same time.

Comments
Changeset: a469b2e4ad91 Author: kcr Date: 2016-12-13 07:44 -0800 URL: http://hg.openjdk.java.net/openjfx/9-dev/rt/rev/a469b2e4ad91 8170485: Switch to building JavaFX with new module-info syntax Reviewed-by: ckyang, mchung, alanb
13-12-2016

In case anyone wants to test it, here is the final webrev I will push on Tuesday. It differs from the .00 version by exactly the minimum build number change in the delta diff indicated above. http://cr.openjdk.java.net/~kcr/8170485/webrev.01/
10-12-2016

For completeness, here is the delta diff to make build 148 the minimum: diff --git a/build.properties b/build.properties --- a/build.properties +++ b/build.properties @@ -67,5 +67,4 @@ ############################################################################## jfx.build.jdk.version.min=9 -# JAKE: change this to 148 once jdk-9+148 is promoted -jfx.build.jdk.buildnum.min=144 +jfx.build.jdk.buildnum.min=148
09-12-2016

+1
07-12-2016

Webrev: http://cr.openjdk.java.net/~kcr/8170485/webrev.00/ This contains the changes outlined above. Note to reviewers: a slight modification will be needed to this webrev once jdk-9+148 is promoted (presuming that the recent jigsaw module-info syntax changes go into build 148). I will need to update the minimum build number in build.properties as indicated in the "JAKE" comment: +# JAKE: change this to 148 once jdk-9+148 is promoted jfx.build.jdk.buildnum.min=144
02-12-2016

Here is the minimal set of "--add-opens" arguments that are needed. I also added "-Dsun.reflect.debugModuleAccessChecks=true" which will help debugging any other cases that may arise. export _JAVA_OPTIONS="-Dsun.reflect.debugModuleAccessChecks=true --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED"
02-12-2016

This change will also require the use of "_JAVA_OPTIONS" in order to run gradle until they release a version of gradle 3.x that no longer requires setAccessible. Note that since this is a hard switch, we will wait one additional week past the promoted build of JDK that includes the jigsaw/jsake changes before we do this.
29-11-2016