RFR: Post-modules and module images build in new buildsystem
Erik Joelsson
erik.joelsson at oracle.com
Thu Mar 21 06:43:38 PDT 2013
On 2013-03-21 14:02, Alan Bateman wrote:
> On 21/03/2013 10:58, Erik Joelsson wrote:
>> I have converted the post modularization step from the old build
>> system to the new build system in jigsaw.
>>
>> http://cr.openjdk.java.net/~erikj/jigsaw/webrev.post-modules.01/
>>
>> The images target will now produce the same module and base images as
>> the old build. The legacy images can still be built using the new
>> target "legacy-images". All the post modularization steps happen in
>> the target "post-modules". I have verified the build manually on
>> linux, windows, solaris and mac and also run it successfully through
>> jprt (with a limited set of tests). I've compared the contents of the
>> built modules with the old build (see below for differences).
> This is great as we need to get moved off the old build system - thank
> you!
>
> I haven't looked through all the changes yet but it may be that we
> just bring these in now so that we can switch to the new build. Mandy
> - do you agree? Mandy might wonder about the class analyzer skipping
> _the files but I think that is fine for now.
I'm open to suggestions here, but in the new build, files starting with
_the are touch files and similar, just handling book keeping for make,
that shouldn't be put in the product.
>
> Do you forsee any issues or complications with future merges? It's
> possible we might be using post-modules for some time.
>
I'm trying my best to keep changes small to not complicate merges
unnecessarily, but I suspect some of this could get hairy down the road.
/Erik
>>
>> Known issues:
>>
>> * Fastdebug fails, both in old and new build, when running the newly
>> built rmic at the end of the jdk target.
> I think that's okay as in general, we need to get the rmic usage fixed
> in the build anyway.
>
>> * No fast incremental support in the post-modules or images targets.
>> Trying to fix that instead of working on a real modular build seems
>> like a waste of time.
> I agree.
>
>> * The following differences with the old build have been observed:
>> * Debug info files (*.diz) from hotspot, but not from the jdk, are
>> included in the modules in the old build. I chose to treat all *.diz
>> files the same and chose to exclude them for now.
> We haven't fully explored debug modules so this will need to be
> re-examined anyway. A possible approach is that there is a -debug
> module for each JDK module with native code.
>
>> * The swingbeans (dt.jar) are generated during images creation in
>> the old build, but in the new build those classes are compiled with
>> the rest, making them available to the modularization. This makes
>> them present in the jdk.desktop module in the new build.
> This is okay too as this needs to be re-examined and dt.jar eliminated.
>
>> * Similarly META-INF/services/com.sun.tools.xjc.Plugin is generated
>> earlier in the new build and is now present in jdk.tools.jaxws.
> It's good to have this fixed. We have the "provides service" right and
> not clear, without digging, why the legacy configuration file was
> missed in the old build.
>
>> * sun/text/resources/th/BreakIteratorRules_th.class is showing up
>> in sun.localedata.
> That seems right.
>
> -Alan.
More information about the jigsaw-dev
mailing list