Incremental modules build
Mandy Chung
mandy.chung at oracle.com
Fri Oct 22 09:21:24 PDT 2010
On 10/22/10 9:18 AM, Alan Bateman wrote:
> Mandy Chung wrote:
>> Hi Alan,
>>
>> 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 [1].
>>
>> Webrev at:
>> http://cr.openjdk.java.net/~mchung/jigsaw/incremental-build/
>>
>> 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.
>>
>> Thanks
>> Mandy
>>
>> [1]
>> http://mail.openjdk.java.net/pipermail/core-libs-dev/2010-July/004543.html
>>
>>
> This looks much better and lots of clean-ups since the the last time I
> looked at these changes. There is a lot of code in this webrev so hard
> to review every line. I went through the make file changes, and the
> class analyzer changes and don't see any obvious issues.
>
Thanks for reviewing it.
> One minor thing is you've renamed ClassPath to ClassPaths but I think
> the original name works better (maybe rename the new ClassPath to
> ClassPathEntry, and fix up the sub-classes?).
>
> Another minor comment is that the parameter to Modularizer to specify
> the directory with the class list might be better specified as
> -classlistdir as the current parameter suggests it's a class list.
>
The above suggested names sound better. I'll fix them.
Mandy
More information about the jigsaw-dev
mailing list