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/

Reply via email to