Review request for 6909572: Add a new target for building modules
Mandy.Chung at Sun.COM
Tue Dec 15 01:13:25 UTC 2009
We have made some progress in eliminating several undesirable
dependencies in the past few builds . A class analyzer tool in the
jigsaw/tools repository  has been developed and used to analyze the
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.
1. The new target will create two jdk-module-image and jre-module-image
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
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.
More information about the build-dev