RFR: JDK-8168108: lib/classlist should be packaged in java.base.jmod
Mandy Chung
mandy.chung at oracle.com
Wed Nov 2 17:52:18 UTC 2016
> On Nov 2, 2016, at 9:55 AM, Erik Joelsson <erik.joelsson at oracle.com> wrote:
>
> This patch changes how the dynamically generated lib/classlist is packaged. We already create an interim-image from java.base and java.logging to generate the classlist during the build. We then copy it into the jdk and jre images using makefile logic after jlinking those images. With this patch, lib/classlist is instead included in java.base.jmod.
>
> To achieve this, I have introduced the concept of interim jmods for the jmods used to create the interim-image. These can be built explicitly from the top level using targets <module>-interim-jmod. It adds a little bit of build time, but it's hardly noticeable.
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8168108
>
> Webrev: http://cr.openjdk.java.net/~erikj/8168108/webrev.01/
I like the interim jmods idea. The solution is clean.
jdk/make/GenerateClasslist.gmk
62 $(call MakeDir, $(@D) $(SUPPORT_OUTPUTDIR)/classlist)
Is the directory $(SUPPORT_OUTPUTDIR)/classlist needed? I can’t tell why this line needs to be changed.
63 $(call LogInfo, Generating lib/classlist)
It might be better to print $(CLASSLIST_FILE) in the log instead?
Otherwise, looks fine.
Mandy
More information about the build-dev
mailing list