To: OpenJFX developers who build FX 9-dev

The latest batch of jigsaw changes [1] were pushed into jdk9/dev as JDK-8169069 [2] last Thursday, and will be integrated into jdk-9+148 later this week. In order to build FX with this version of the JDK we need to make a change to our module-info.java files to conform to the new syntax for "requires transitive" and for listing multiple service providers. This work is tracked by JDK-8170485 [3]. These changes are not backward compatible, so they will prevent FX 9-dev from compiling on earlier jdk-9 builds. As such we will need to bump the minimum version to 148 at the same time we make these changes.

An additional complication is that the latest jigsaw changes also tighten the encapsulation rules such that setAccessible no longer breaks encapsulation without explicit permission [4]. This change affects gradle/groovy such that additional java command-line options are needed in order for gradle to run. The requirement is to set the "_JAVA_OPTIONS" environment variable to include the list of "--add-opens" arguments as specified in JDK-8170485. I will also add a "README-java-options" file with the needed list.

I will send out the formal review for JDK-8170485 later today or tomorrow, but if you are interested in seeing the preliminary webrev, the URL is listed in a comment in the JBS issue.

If there are no problems, I plan to push the fix for JDK-8170485 into FX 9-dev on Tuesday, Dec 13. At that time you will need to upgrade your boot JDK to jdk-9+148 and set the appropriate _JAVA_OPTIONS as indicated in "README-java-options".

-- Kevin

[1] http://mail.openjdk.java.net/pipermail/jigsaw-dev/2016-November/010249.html
[2] https://bugs.openjdk.java.net/browse/JDK-8169069
[3] https://bugs.openjdk.java.net/browse/JDK-8170485
[4] See #AwkwardStrongEncapsulation in [1]

Reply via email to