Proposal .. JRT Core shall only require basic libraries of OpenJDK, i.e. - java.io.* - java.lang.* - java.nio.* - java.math.* - java.net.* - java.security.* - java.util.* - javax.crypto.* - javax.net.* Optional / Nice-To-Have: - java.sql.* - java.text.* - javax.sql.* - javax.xml.* - org.w3c.dom.* - org.xml.sax.* +++ Shall we strip off ???: - java.beans.* - java.rmi.* Especially strip off: - java.awt.* - javax.imageio.* - javax.sound.* - JavaFX +++ This list needs to be completed...
Motivation to _not_ require certain packages (modules), i.e. to strip them off for JRT is to simplify the 1st milestone while knowing that it will be too hard to implement those for all desired platforms. Further more, certain modules like graphics and sound shall be tackled by other projects designated to this task, i.e. JOAL and JOGL .. etc.
The methodology of 'stripping' off non required parts should be done in an automatic fashion. The latter is essential to keep track of the upstream repository, i.e. OpenJDK / IcedTea - which shall be the master. It is also mentioned that some OpenJDK 8 or 9 version may implement modularization. If this condensates one day, we should align with such!
I wouldn't strip off java.beans.* because I already saw a few libraries proposing their own poor implementation of this set of packages under Android and in my humble opinion, I would be more happy if we could provide it without big efforts. Anyway, some packages could be removed further, for example by rebuilding the runtime. What about Swing?
.. considering: A JEP 161: <http://openjdk.java.net/jeps/161> B Jigsaw: <http://openjdk.java.net/projects/jigsaw/dashboards/modularization>
(In reply to comment #4) > .. considering: > A JEP 161: <http://openjdk.java.net/jeps/161> > B Jigsaw: > <http://openjdk.java.net/projects/jigsaw/dashboards/modularization> As described on <https://blogs.oracle.com/jtc/entry/a_first_look_at_compact> (JEP 161): "Understanding that Java 9 is quite a ways off, an interim solution will be available for Java 8, called Compact Profiles." Jigsaw is 'not ready' for prime time yet, even though it looks very promising. Current tests of our modularization focus on JEP 161's profiles for now as implemented in OpenJDK8. OpenJDK9 Jigsaw shall be used when 'ready'. This would allow us to provide the 3 JEP 161 profiles [compact1-3], as well as the desktop profile incl. AWT.
http://jogamp.org/git/?p=jigong.git;a=summary