RFR: Post-modules and module images build in new buildsystem
Mandy Chung
mandy.chung at oracle.com
Thu Mar 21 15:30:40 PDT 2013
On 3/21/13 6:02 AM, 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!
Indeed a big thank you! This is great and we can build jigsaw with the
new build! One less dependency on the old build.
>
> 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 agree. We should switch to the new build. jigsaw/Makefile currently
still uses the old build as the default. Can you also try building with
the closed repos?
>
> Do you forsee any issues or complications with future merges? It's
> possible we might be using post-modules for some time.
>
jigsaw is currently sync'ed with jdk8 b76. There are other build
changes in jdk8 and we will find out from our next merge if there is any
complication. This is good work and we can improve it over time. I
support pushing this change.
Mandy
>>
>> 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