Incremental modules build
mandy.chung at oracle.com
Wed Oct 20 10:37:56 PDT 2010
I made the time to clean up the class analyzer tool to be more generic
(as its initial versions used to be) and add the incremental modules
build support. This is very close to the version that you reviewed some
time ago .
The modules build includes three main steps:
a. run the class analyzer tool to assign classes and resources in the
jdk modules and analyzes their dependencies
b. compile the module-info.java source files generated by the class analyzer
c. modularize the jdk build
- copy classes, resources and other non-java files for each module
to $OUTPUTDIR/modules/<m> directory where <m> is the module name
- create the jigsaw module library and install the jdk modules in it.
To support the incremental build, the tools and makefile will need to
detect what files and modules are modified. To simplify the change, one
single marker file is added and updated when any part of the jdk is
remade. The modules build will use the timestamp of the marker file to
determine if it should do an incremental or do a full modules build.
I created a new tool com.sun.classanalyzer.Modularizer to do the
timestamp comparison and the files copying. Both ClassAnalyzer and
Modularizer will process classes/resources files that are updated since
the last build.
More information about the jigsaw-dev