Review request for 6926663: incremental modules build support
Mandy Chung
mandy.chung at oracle.com
Fri Jul 9 16:56:13 UTC 2010
Alan, Kelly,
The webrevs are updated:
http://cr.openjdk.java.net/~mchung/6926663/jdk-webrev.01/
http://cr.openjdk.java.net/~mchung/6926663/top-webrev.01/
You have seen most of the changes in the jigsaw-dev discussion. The
main changes for the incremental build are as follows:
1. make/common/shared/Defs.gmk
- added JDK_IMAGE_NAME and JRE_IMAGE_NAME variables (that are also
used by the top forest repo)
2. make/modules/Makefile has the most significant change to support
incremental build
3. make/common/Library.gmk, Defs.gmk
- call TouchModule (defined in Defs-modules.gmk) to record if
non-class file is updated.
4. ClassAnalyzer
- moved from make/modules/tools to make/tools/classanalyzer to
separate from make/modules/Makefile so that the tool is built once (if
no change is made).
- take a properties file to specify properties of the output modules
as well as the names of a few platform well-known modules
5. make/modules/modules.properties
- specify the properties for jdk modules e.g. name of the boot and
base module
Kelly,
Alan is going to do a detailed review of the class analyzer tool when
he returns from vacation next week. Can you help review other makefile
changes?
Thanks
Mandy
Mandy Chung wrote:
> Alan, Kelly,
>
> Webrev:
> http://cr.openjdk.java.net/~mchung/6926663
>
> It in fact contains 2 fixes:
> 1. integrate the latest jdk modularity fixes from jigsaw repos
> - add modules target in the top forest makefile [1]
> - support SKIP_BOOT_CYCLE=false modules build [2]
> - fix a couple of bugs in the launcher [3]
> - add JDK_HOST_PATH to support cross-architectural modules build [4]
> - cleanup on the modules.config and module names in makefiles
>
> 2. incremental modules build support to ease jdk development
> - the changes are mainly in make/modules and
> make/tools/classanalyzer files.
>
> The modules build includes two main steps:
> a. run the class analyzer tool to assign classes and resources in
> the jdk modules and analyzes their dependencies
> b. modularize the build output and create a module library
> containing the jdk modules
>
> I created a new tool com.sun.classanalyzer.Modularizer to do the files
> copying in step 2. Both ClassAnalyzer and Modularizer will process
> classes/resources files that are updated since the previous build.
> The jdk build will update a new file submodules/.modules.update if
> classes are recompiled, a library is rebuilt, or a file is installed
> in the jdk. The modules build will use the timestamp of
> .modules.update file to determine if it should do an incremental or do
> a full modules build.
>
> Thanks
> Mandy
>
> [1]
> http://mail.openjdk.java.net/pipermail/jigsaw-dev/2010-March/000742.html
> [2]
> http://mail.openjdk.java.net/pipermail/jigsaw-dev/2010-March/000613.html
> [3]
> http://mail.openjdk.java.net/pipermail/jigsaw-dev/2010-February/000523.html
>
> [4]
> http://mail.openjdk.java.net/pipermail/jigsaw-dev/2010-March/000683.html
More information about the build-dev
mailing list