Regarding previous comments about not wanting to support such an extension of 
what are viewed as internal APIs, these proposed extensions could be guarded by 
a command line option such as --enable-jpms-experimental-api that carries 
warning messages along the lines of the --permit-illegal-access option, to 
indicate these are unsupported APIs that will be removed in the next release. 
That will allow other modules systems the integration they require as well as 
time to define public APIs that mutually agreeable. 

----- Original Message -----
From: "David M. Lloyd" <david.ll...@redhat.com>
To: "jigsaw-dev" <jigsaw-dev@openjdk.java.net>
Sent: Thursday, May 11, 2017 5:43:09 PM
Subject: Some suggested patches and improvements

I've proposed five patches to the jpms-spec-experts list [1..5] for 
discussion.  The patches are as follows:

1. Layer primitive: addExports() - mirrors the existing 
Module.addExports() method for ModuleLayer.Controllers
2. Layer primitive: addUses() - mirrors the existing Module.addUses() 
method for ModuleLayer.Controllers
3. Layer primitive: addPackage() - allows ModuleLayer.Controllers to add 
packages to a module after it has been defined
4. Make run-time cycle checking optional
5. Add optional class loader isolation for modules on the module path

Apart from #3, each of these patches is small and very low-risk, and 
address a clear problem.  In the case of #3, I believe that the risk is 
very low, but am also willing to discuss modifying the patch to move the 
method to a "jdk.unsupported" class or in other ways.

I also am maintaining a mirror of the jigsaw/jake tree as a Git 
repository [6] which contains these patches where they can be viewed and 
fiddled with on a more interactive basis.

It is my belief that these small, low-cost patches will go a very long 
way towards mitigating many of the problems identified and shared by Red 
Hat, by other EG members, by other EC members, and by the community.

Please have a look and let me know if you have any feedback on any of 
these changes.

[1] 
http://mail.openjdk.java.net/pipermail/jpms-spec-experts/2017-May/000705.html
[2] 
http://mail.openjdk.java.net/pipermail/jpms-spec-experts/2017-May/000707.html
[3] 
http://mail.openjdk.java.net/pipermail/jpms-spec-experts/2017-May/000708.html
[4] 
http://mail.openjdk.java.net/pipermail/jpms-spec-experts/2017-May/000711.html
[5] 
http://mail.openjdk.java.net/pipermail/jpms-spec-experts/2017-May/000710.html
[6] https://github.com/dmlloyd/openjdk-modules

-- 
- DML

Reply via email to