RFR: JDK-8212780: JEP 343: Packaging Tool Implementation

Roger Riggs Roger.Riggs at oracle.com
Thu Nov 15 02:10:57 UTC 2018


Does --limit-modules work as intended, are there any tests?
With a command such as:

jpackager -Djlink.debug=true create-image \
     --input out/artifacts \
     --output out \
     --limit-modules java.base \
     --main-jar Hello-jar/Hello.jar \
     --class Main

It complains that:
Exception: jdk.tools.jlink.plugin.PluginException: 
java.lang.module.FindException: Module jdk.compiler not found, required 
by jdk.jdeps

After adding a few more modules it stops complaining about missing 
java.base,jdk.compiler,jdk.internal.le,jdk.internal.ed,jdk.internal.opt \

But still,

The generated runtime/bin/java --show-modules includes the full list of 
jdk modules.

In the code:

JLinkBundlerHelper.ModuleHelper ignores the limitMods argument and produces
a complete set of redistributable modules.

It should be possible to build a runtime with only the java.base module.

What should I expect?

Thanks, Roger

On 11/09/2018 05:25 PM, Andy Herrick wrote:
> This is an update to the Request For Review of the implementation of 
> the Java Packager Tool (jpackager) as described in JEP 343: Packaging 
> Tool <https://bugs.openjdk.java.net/browse/JDK-8200758>
> This refresh renames the packages used to jdk.jpackager and 
> jdk.jpackager.runtime, removes the JNLPConverter demo, adds an initial 
> set of automated tests, and contains fixes to the following issues:
> JDK-8213324 jpackager deletes existing app directory without warning
> JDK-8213166 jpackager --argument arg is broken
> JDK-8213163 --app-image arg does not work creating exe installers
> JDK-8212089 Prepare packager for localization
> JDK-8212537 Create method and class description comments for main 
> functionality
> JDK-8213332 Create minimal automated tests for jpackager
> JDK-8213333 Fix issues found in jpackager with automated tests
> JDK-8213394 Stop using Log.info() except for expected output.
> JDK-8213345 Secondary Launchers broken on mac.
> JDK-8213156 rename packages for jpackager
> JDK-8213244 Fix all warnings in jpackager java code
> JDK-8212143 Remove native code that supports UserJvmOptionsService
> JDK-8213162 Association description in Inno Setup cannot contain 
> double quotes
> The following additional issues are targeted to be address in the next 
> few weeks:
> JDK-8212936     Makefile and other improvements for jpackager
> JDK-8212164     resolve jre.list and jre.module.list
> JDK-8213392     Enhance --help and --version
> JDK-8208652     File name is not passed to main() via file association 
> on OS X
> JDK-8212538     Determine standard way to determine if a Modular jar
> JDK-8213558     Create more unit tests
> Webrev: http://cr.openjdk.java.net/~herrick/8212780/webrev.2/
> please send feedback to core-libs-dev at openjdk.java.net
> /Andy Herrick

More information about the core-libs-dev mailing list