Bug 792 - OpenJDK Subset - JRT Core
Summary: OpenJDK Subset - JRT Core
Alias: None
Product: JRT
Classification: Ji_Gong
Component: General (show other bugs)
Version: unspecified
Hardware: All all
: --- enhancement
Assignee: Sven Gothel
Depends on:
Blocks: 790 791
  Show dependency treegraph
Reported: 2013-08-04 09:37 CEST by Sven Gothel
Modified: 2013-09-10 17:16 CEST (History)
1 user (show)

See Also:
SCM Refs:
Workaround: ---


Note You need to log in before you can comment on or make changes to this bug.
Description Sven Gothel 2013-08-04 09:37:21 CEST
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...
Comment 1 Sven Gothel 2013-08-04 09:43:31 CEST
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.
Comment 2 Sven Gothel 2013-08-04 09:55:16 CEST
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!
Comment 3 Julien Gouesse 2013-08-05 10:42:20 CEST
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?
Comment 4 Sven Gothel 2013-08-06 14:08:42 CEST
.. considering:
  A JEP 161: <http://openjdk.java.net/jeps/161>
  B Jigsaw: <http://openjdk.java.net/projects/jigsaw/dashboards/modularization>
Comment 5 Sven Gothel 2013-08-06 17:48:19 CEST
(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.
Comment 6 Sven Gothel 2013-09-10 17:16:08 CEST