RFR: JDK-8212780: JEP 343: Packaging Tool Implementation (original) (raw)

Erik Joelsson erik.joelsson at oracle.com
Wed Oct 24 17🔞41 UTC 2018


Hello,

Nice to see this finally happening!

Are we actually adding a new demo? I thought we were working towards getting rid of the demos completely.

CompileJavaModules.gmk:

The jdk.packager_CLEAN_FILES could be replaced with a simple "jdk.packager_CLEAN := .properties" unless you actually need to add all the platform specific files to builds for all platforms (which I doubt?). To clarify, the current patch will add all linux, windows and mac properties to builds of all OSes. Is that intended?

Modules.gmk:

I would rather have the filter be conditional on an inclusive list of platforms. Other OpenJDK contributors are building for other OSes like AIX and we don't want to have to keep track of all those. The list of OSes that jpackager supports is well defined, so better check for those explicitly.

src/jdk.jlink/share/classes/module-info.java:

I believe the qualified export needs to be put in a module-info.java.extra file since we filter out the target module on unsupported platforms.

Launcher-jdk.packager.gmk:

Lib-jdk.packager.gmk:

/Erik

On 2018-10-24 07:22, Alan Bateman wrote:

On 23/10/2018 16:49, Andy Herrick wrote:

This patch implements the Java Packager Tool (jpackager) as described in JEP 343: Packaging Tool <https://bugs.openjdk.java.net/browse/JDK-8200758>

jpackager is a simple packaging tool, based on the JavaFX |javapackager| tool, that:  * Supports native packaging formats to give the end user a natural installation experience. These formats include |msi| and |exe| on Windows, |pkg| and |dmg| on MacOS, and |deb| and |rpm| on Linux.  * Allows launch-time parameters to be specified at packaging time.  * Can be invoked directly, from the command line, or programmatically, via the |ToolProvider| API. Webrev: http://cr.openjdk.java.net/~herrick/8212780/webrev.01/ cc'ing build-dev as it's important to get it reviewed there. What is the plan for tests to go with this tool? I see there is one test in the webrev to do some argument validation but I don't see anything else right now. What is the status of the JNLPConverter tool? I see it is included as a "demo" but maybe it would be better to host somewhere else as this is for developers migrating Java Web Start applications. Would it be possible to update the JEP with all the CLI options? That would be useful for review and also useful for those invoking it with the ToolProvider API. If I read the webrev correctly then it adds two modules, one with the jpackager tool and the other with an API. It would be useful to get a bit more information on the split. Also I think the name of the API module and the package that it exports needs discussion to make sure that the right names are chosen. -Alan



More information about the build-dev mailing list