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

Mandy Chung Mandy.Chung at Sun.COM
Thu Dec 17 00:02:31 PST 2009


I updated the class analyzer to generate a new <module>.resources file.  
The jdk module build will include the non-java resource files in each 
module.  The new webrev is at:
   http://cr.openjdk.java.net/~mchung/6909572/webrev.01

I also generate a webrev showing the class analyzer change w.r.t. the 
jigsaw-tools repository for your reference:
   http://cr.openjdk.java.net/~mchung/6909572/jigsaw-tools-webrev/

Thanks
Mandy

Mandy Chung wrote:
> 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