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