Hi Andy,

This is looking really sweet from a build perspective!

Just a few minor nits:

* In Launcher-jdk.jpackage.gmk, please indent the else clause ("$(eval $(call SetupBuildLauncher, jpackage ....") two spaces.

* In Lib-jdk.jpackage.gmk, I think there's still room to prune some more unnecessary compiler flags and parameters to SetupJdkExecutable:

  65     CFLAGS_linux := -fPIC, \
  66     CFLAGS_solaris := -KPIC, \
  67     CFLAGS_macosx := -fPIC, \

 I wonder if these really are needed. Normally, only shared libraries neeed PIC code. (And for those we set it automatically.)

  69     LDFLAGS_windows := -nologo, \

This should not be needed, it's incorporated in CXXFLAGS_JDKEXE. (Also in the second block, for jpackageapplauncherw).

  72     LIBS_solaris :=  -lc, \

Same here; this should not be needed. It's in GLOBAL_LIBS on Solaris, and is always included.

  75     VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \

This is setup by default by SetupJdkExecutable, so you can remove it. (Also in the second block, for jpackageapplauncherw).

Finally, I do believe that the setups of jpackageapplauncher and jpackageapplauncherw should be done in Launcher-jdk.jpackage.gmk, not Lib-jdk.jpackage.gmk. Since they are to be shipped as resources, they are not "really" launchers in our normal sense, but they are at least more launchers than they are libraries.

As we've talked about privately, in the future I'd like to see Windows too use the SetupBuildLauncher method for creating the launcher, but this is clearly good enough for inclusion in the mainline.

I also have a question about test/jdk/tools/jpackage/resources/license.txt. What is it used for? And why the odd (incorrect?) spelling of license?

/Magnus

On 2019-01-11 20:41, Andy Herrick wrote:
This is the second 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 webrev corresponds to the second EA build, Build 8 (2019/1/8), posted at http://jdk.java.net/jpackage/

This update renames the package used to "jdk.jpackage", removes the Single Instance Service (and CLI option --singleton), adds several other CLI options, adds more automated tests, and contains fixes to the following issues (since update 1 on 11/09/2018):

JDK-8212164     resolve jre.list and jre.module.list
JDK-8212936     Makefile and other improvements for jpackager
JDK-8213385     jpackager Command-Line Argument File.
JDK-8213392     Enhance --help and --version
JDK-8213425     Analyze output from Source code scanner and fix where needed.
JDK-8213747     Makefile Improvements to Lib-jdk.packager.gmk
JDK-8213748     jpackager native launcher for macosx, linux.
JDK-8213756     SingleInstance runtime improvements
JDK-8213962     JPackageCreateImageRuntimeModuleTest fails
JDK-8213963     Flatten out jpackager packages and resources.
JDK-8214021     Create additional automated tests for jpackager
JDK-8214051     rename jpackager tool to jpackage
JDK-8214070     Analyze and Fix issues reported by Parfait
JDK-8214143     Reduce Resource files
JDK-8214495     Change behavior of --license-file
JDK-8214575     Exe installers will install application over existing installation JDK-8214899     rename papplauncher and it's library and move src to appropriate places JDK-8214982     jpackage causes failures in existing HelpFlagsTest and VersionCheck tests JDK-8215020     create-jre-installer exe fails when --runtime-image is specified. JDK-8215036     Create initial set of tests for jpackage create-installer mode
JDK-8215453     remove unused BundlerParams and fix misleading messages
JDK-8215515     Add a command line option to override internal resources.
JDK-8215900     Without --files args, only jars in the top level of --input are added to class-path
JDK-8215903     modify behavior of retaining temporary output dir
JDK-8216190     Remove Single Instance Service support from jpackage
JDK-8216313     Add ToolProvider information to jdk.jpackage API docs
JDK-8216373     temporary build-root left behind when using secondary launcher(s)
JDK-8216492     Update copyright of all new jpackage files to 2019

Webrev: http://cr.openjdk.java.net/~herrick/8212780/webrev.03

Note: SingleInstanceService API was removed (see https://bugs.openjdk.java.net/browse/JDK-8216190). An example stand alone implementation can be found at: http://cr.openjdk.java.net/~herrick/jpackage/Singleton.java

please send feedback to core-libs-dev@openjdk.java.net

/Andy Herrick


Reply via email to