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

Reply via email to