RFR: JDK-8212780: JEP 343: Packaging Tool Implementation (update 2)
Magnus Ihse Bursie
magnus.ihse.bursie at oracle.com
Fri Jan 18 13:29:26 UTC 2019
On 2019-01-17 16:06, Andy Herrick wrote:
>
> If I remove the line -nologo from lib-jdk.jpackage.gmk:
>
>> 69 LDFLAGS_windows := -nologo, \
> I get the logo during build (same with console andnon-console version):
>> Microsoft (R) Incremental Linker Version 14.12.25835.0
>> Copyright (C) Microsoft Corporation. All rights reserved.
> do I need something to include CXXFLAGS_JDKEXE into LDFLAGS ? (there
> is no other LDFLAGS line...)
Ah, good catch. You should add
LDFLAGS := $(LDFLAGS_JDKEXE), \
to your setup.
/Magnus
> here's the non-console APPLAUNCHERWEXE case:
>
>> # Build non-console version of launcher
>> ifeq ($(OPENJDK_TARGET_OS), windows)
>>
>> $(eval $(call SetupJdkExecutable, BUILD_JPACKAGE_APPLAUNCHERWEXE, \
>> NAME := jpackageapplauncherw, \
>> OUTPUT_DIR :=
>> $(JDK_OUTPUTDIR)/modules/$(MODULE)/jdk/jpackage/internal/resources, \
>> SYMBOLS_DIR :=
>> $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/jpackageapplauncherw, \
>> SRC := $(JPACKAGE_APPLAUNCHEREXE_SRC), \
>> TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
>> OPTIMIZATION := LOW, \
>> CFLAGS := $(CXXFLAGS_JDKEXE), \
>> CFLAGS_windows := -EHsc -DUNICODE -D_UNICODE, \
>> LDFLAGS_windows := -nologo, \
>> <-------------------------------------
>> LIBS := $(LIBCXX), \
>> LIBS_windows := user32.lib shell32.lib advapi32.lib, \
>> ))
>>
>> TARGETS += $(BUILD_JPACKAGE_APPLAUNCHERWEXE)
>> endif
>
> /Andy
>
>
> On 1/15/2019 8:09 AM, Magnus Ihse Bursie wrote:
>> 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