Moving the changes in jake to jdk9/dev

Alan Bateman Alan.Bateman at oracle.com
Wed Nov 23 11:55:11 UTC 2016


We've been accumulating changes in the jake forest that are tied to JSR 
issues for the last few months. Some of the changes (such as 
#ClassLoaderNames) have already been pushed upstream to jdk9/dev but 
we've still sitting on a large patch.

We would like to move the changes that we have in jake to jdk9/dev soon, 
early December if possible. One motivation is to get the changes and new 
APIs into JDK 9 main line so that they can be used and tested more 
widely. This should help reduce some of the confusion with having two 
builds too. Another motivation is that the merging is getting painful, 
esp. the langtools repository where we have regular conflicts with 
changes to javac pushed via jdk9/dev.

To that end, I will start a code review soon that will be a snapshot of 
the changes in the jake forest. Once these changes are reviewed and in 
jdk9/dev then we will continue in the jake forest where appropriate - 
particularly in areas that are tied to JSR issues where we need to 
iterate and prototype, also in areas where we need to re-work some areas 
of the implementation.

As people on this mailing list know, jake has the changes for 
#AwkwardStrongEncapsulation [1] where setAccessible has been changed so 
it can't be used to break into non-public members/types in exported 
packages of JDK modules. It was changed more than a year ago to fail 
when attempting to use it to break into non-exported packages. Dialing 
it up further is a disruptive change that will expose a lot of hacks and 
issues with existing code that is used to accessing non-public 
fields/methods in JDK classes. It will take some libraries and tools a 
bit of time to digest this change, even with the --add-opens command 
line option and Add-Opens manifest in application JAR files to keep 
existing code going. I plan to send mail to jdk9-dev in advance of this 
integration to create wider awareness of this change.

-Alan

[1] 
http://openjdk.java.net/projects/jigsaw/spec/issues/#AwkwardStrongEncapsulation


More information about the jigsaw-dev mailing list