Review request for 6909572: Add a new target for building modules

Mandy Chung Mandy.Chung at Sun.COM
Mon Dec 14 17:13:25 PST 2009


We have made some progress in eliminating several undesirable 
dependencies in the past few builds [1].   A class analyzer tool in the 
jigsaw/tools repository [2] has been developed and used to analyze the 
dependencies.

The next step of the jdk modularization effort is to make the build 
changes to generate modules.   I plan to break this task into several 
steps.   The first step is to add a new "modules" target to build the 
module image that has one jar file per module rather than rt.jar.  This 
change does not have any impact to the existing jdk build.

Webrev at:
  http://cr.openjdk.java.net/~mchung/6909572/webrev.00

Details:
1.  The new target will create two jdk-module-image and jre-module-image 
directories.
2.  modules are generated to replace rt.jar and other jar files under 
jre/lib and jre/lib/ext.
3.  non-java resources are in resources.jar and will be soon included in 
their corresponding modules (see 6910370).
4.  The class analyzer tool is included in make/modules/tools.

It's a build tool and make/tools seems to be an appropriate place for 
it.   I decide to put it under make/modules/tools for 2 reasons.  (a) 
classanalyzer depends on the jdk 7 com.sun.tools.classfile library that 
is not available when make/tools is built (while is the first 
subdirectory being built using the bootstrap javac (1.6)) (b) Once we 
modularize the source tree and the build, this tool and 
make/modules/Makefile will no longer be needed.   The entire 
make/modules directory can go away at that time.

5. make/modules/modules.config contains the module definitions of 
fine-grained modules that we currently define.  The list of modules is 
yet to be finalized.   They could possibly be grouped into 
coarser-grained profiles in the future.

Another change related to this build change is:
  6909573: Temporary launcher support to add modules in the bootclasspath
  webrev:  http://cr.openjdk.java.net/~mchung/6909573/webrev.00/

Kumar, can you please review the launcher change?

The launcher is modified to detect if this is a module image and 
enumerate the list of modules to add to the bootclasspath.  The launcher 
doesn't alter the bootclasspath for the existing jdk build.

Thanks
Mandy

[1] http://blogs.sun.com/alanb/entry/is_the_jdk_losing_its
[2] http://hg.openjdk.java.net/jigsaw/tools/



More information about the jigsaw-dev mailing list