RFR: JDK-8212780: JEP 343: Packaging Tool Implementation (update 2)
Magnus Ihse Bursie
magnus.ihse.bursie at oracle.com
Tue Jan 15 13:09:10 UTC 2019
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 at openjdk.java.net
>
> /Andy Herrick
>
More information about the core-libs-dev
mailing list