# HG changeset patch # User herrick # Date 1542397363 18000 # Node ID 124983f4864526490a62ffd19959f7606bdeaf8b # Parent 5f20b792d15ba5fb0f8dbf0f1520e88e13b02ca6 8212936: Makefile and other improvements for jpackager Reviewed-by: almatvee, erikj diff -r 5f20b792d15b -r 124983f48645 make/CompileJavaModules.gmk --- a/make/CompileJavaModules.gmk Fri Nov 09 11:15:38 2018 -0500 +++ b/make/CompileJavaModules.gmk Fri Nov 16 14:42:43 2018 -0500 @@ -389,15 +389,7 @@ jdk.jpackager_COPY += .gif .png .txt .spec .script .prerm .preinst .postrm .postinst .list \ .desktop .copyright .control .plist .template .icns .scpt .entitlements .wxs .iss .ico .bmp -jdk.jpackager_CLEAN_FILES += $(wildcard \ - $(TOPDIR)/src/jdk.jpackager/share/classes/jdk/jpackager/internal/resources/*.properties \ - $(TOPDIR)/src/jdk.jpackager/share/classes/jdk/jpackager/internal/resources/builders/*.properties \ - $(TOPDIR)/src/jdk.jpackager/linux/classes/jdk/jpackager/internal/resources/builders/linux/*.properties \ - $(TOPDIR)/src/jdk.jpackager/macosx/classes/jdk/jpackager/internal/resources/builders/mac/*.properties \ - $(TOPDIR)/src/jdk.jpackager/windows/classes/jdk/jpackager/internal/resources/builders/windows/*.properties \ - $(TOPDIR)/src/jdk.jpackager/linux/classes/jdk/jpackager/internal/resources/linux/*.properties \ - $(TOPDIR)/src/jdk.jpackager/macosx/classes/jdk/jpackager/internal/resources/mac/*.properties \ - $(TOPDIR)/src/jdk.jpackager/windows/classes/jdk/jpackager/internal/resources/windows/*.properties) +jdk.jpackager_CLEAN += .properties ################################################################################ diff -r 5f20b792d15b -r 124983f48645 make/common/Modules.gmk --- a/make/common/Modules.gmk Fri Nov 09 11:15:38 2018 -0500 +++ b/make/common/Modules.gmk Fri Nov 16 14:42:43 2018 -0500 @@ -231,9 +231,9 @@ endif ################################################################################ -# Some platforms don't have jpackager +# jpackager is only on windows, macosx, and linux -ifeq ($(OPENJDK_TARGET_OS), solaris) +ifeq ($(filter $(OPENJDK_TARGET_OS), windows macosx linux), ) MODULES_FILTER += jdk.jpackager MODULES_FILTER += jdk.jpackager.runtime endif diff -r 5f20b792d15b -r 124983f48645 make/launcher/Launcher-jdk.jpackager.gmk --- a/make/launcher/Launcher-jdk.jpackager.gmk Fri Nov 09 11:15:38 2018 -0500 +++ b/make/launcher/Launcher-jdk.jpackager.gmk Fri Nov 16 14:42:43 2018 -0500 @@ -30,43 +30,38 @@ ifeq ($(OPENJDK_TARGET_OS), windows) -JPACKAGEREXE_SRC := $(TOPDIR)/src/jdk.jpackager/windows/native/jpackager + JPACKAGEREXE_SRC := $(TOPDIR)/src/jdk.jpackager/windows/native/jpackager -$(eval $(call SetupJdkExecutable, BUILD_JPACKAGEREXE, \ - NAME := jpackager, \ - SRC := $(JPACKAGEREXE_SRC), \ - TOOLCHAIN := TOOLCHAIN_LINK_CXX, \ - OPTIMIZATION := LOW, \ - CFLAGS := $(CXXFLAGS_JDKEXE) -nologo -DFULL -EHsc \ - -DWIN32 -D_LITTLE_ENDIAN -DWIN32_LEAN_AND_MEAN \ - -DUNICODE -D_UNICODE, \ - CFLAGS_release := -DPRODUCT, \ - DISABLED_WARNINGS_gcc := unused-result implicit-fallthrough, \ - LDFLAGS := $(LDFLAGS_JDKEXE) $(LDFLAGS_CXX_JDK) -nologo \ - $(call SET_SHARED_LIBRARY_ORIGIN), \ - LIBS := $(LIBCXX) user32.lib shell32.lib advapi32.lib ole32.lib, \ - VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \ -)) + $(eval $(call SetupJdkExecutable, BUILD_JPACKAGEREXE, \ + NAME := jpackager, \ + SRC := $(JPACKAGEREXE_SRC), \ + OPTIMIZATION := LOW, \ + CFLAGS := $(CXXFLAGS_JDKEXE), \ + CFLAGS_windows := -DFULL -EHsc -DUNICODE -D_UNICODE, \ + CFLAGS_release := -DPRODUCT, \ + LDFLAGS := $(LDFLAGS_JDKEXE), \ + LIBS := $(LIBCXX) user32.lib shell32.lib advapi32.lib ole32.lib, \ + )) -TARGETS += $(BUILD_JPACKAGEREXE) + TARGETS += $(BUILD_JPACKAGEREXE) else # Chmod to avoid permission issues for exploded JDK -define copy-and-chmod - $(install-file) - $(CHMOD) +x $@ -endef + define copy-and-chmod + $(install-file) + $(CHMOD) +x $@ + endef -#copy script for Unix -$(eval $(call SetupCopyFiles, COPY_JPACKAGERSCRIPT, \ - SRC := $(TOPDIR)/src/jdk.jpackager/unix/scripts/, \ - DEST := $(SUPPORT_OUTPUTDIR)/modules_cmds/$(MODULE), \ - FILES := jpackager, \ - MACRO := copy-and-chmod, \ -)) + #copy script for Unix + $(eval $(call SetupCopyFiles, COPY_JPACKAGERSCRIPT, \ + SRC := $(TOPDIR)/src/jdk.jpackager/unix/scripts/, \ + DEST := $(call FindExecutableDirForModule, $(MODULE)), \ + FILES := jpackager, \ + MACRO := copy-and-chmod, \ + )) -TARGETS += $(COPY_JPACKAGERSCRIPT) + TARGETS += $(COPY_JPACKAGERSCRIPT) endif diff -r 5f20b792d15b -r 124983f48645 make/lib/Lib-jdk.jpackager.gmk --- a/make/lib/Lib-jdk.jpackager.gmk Fri Nov 09 11:15:38 2018 -0500 +++ b/make/lib/Lib-jdk.jpackager.gmk Fri Nov 16 14:42:43 2018 -0500 @@ -29,7 +29,8 @@ LIBPACKAGER_SRC_ROOT := $(TOPDIR)/src/jdk.jpackager LIBPACKAGER_SHARED_SRC := $(LIBPACKAGER_SRC_ROOT)/share/native/library/common -LIBPACKAGER_PLATFORM_SRC := $(LIBPACKAGER_SRC_ROOT)/$(OPENJDK_TARGET_OS)/native/library +LIBPACKAGER_PLATFORM_SRC := \ + $(LIBPACKAGER_SRC_ROOT)/$(OPENJDK_TARGET_OS)/native/library BUILD_LIBPACKAGER_SRC := @@ -40,7 +41,7 @@ BUILD_LIBPACKAGER_SRC += $(LIBPACKAGER_SHARED_SRC) -# Output shared library and debug symbols files in the same directory as .obj files. +# Output shared library and symbols files in the same directory as .obj files. $(eval $(call SetupJdkLibrary, BUILD_LIBPACKAGER, \ NAME := jpackager, \ SRC := $(BUILD_LIBPACKAGER_SRC), \ @@ -48,7 +49,7 @@ TOOLCHAIN := TOOLCHAIN_LINK_CXX, \ OPTIMIZATION := LOW, \ CFLAGS := $(CXXFLAGS_JDKLIB) -I$(LIBPACKAGER_SHARED_SRC), \ - CFLAGS_windows := -nologo -EHsc -D_WINDOWS -DUNICODE -D_UNICODE -DWIN32 -D_LITTLE_ENDIAN -DWIN32_LEAN_AND_MEAN, \ + CFLAGS_windows := -EHsc -DUNICODE -D_UNICODE, \ LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \ $(call SET_SHARED_LIBRARY_ORIGIN), \ LIBS := $(LIBCXX), \ @@ -66,25 +67,22 @@ ################################################################################ -PACKAGERAPPLAUNCHEREXE_SRC := $(TOPDIR)/src/jdk.jpackager/$(OPENJDK_TARGET_OS)/native/launcher +PACKAGERAPPLAUNCHEREXE_SRC := \ + $(TOPDIR)/src/jdk.jpackager/$(OPENJDK_TARGET_OS)/native/launcher - -# Output executable and debug symbols files in the same directory as .obj files. +# Output executable and symbols files in the same directory as .obj files. $(eval $(call SetupJdkExecutable, BUILD_PACKAGERAPPLAUNCHEREXE, \ NAME := papplauncher, \ SRC := $(PACKAGERAPPLAUNCHEREXE_SRC), \ OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/papplauncher, \ TOOLCHAIN := TOOLCHAIN_LINK_CXX, \ OPTIMIZATION := LOW, \ - CFLAGS := $(CXXFLAGS_JDKEXE) -DFULL, \ - CFLAGS_release := -DPRODUCT, \ + CFLAGS := $(CXXFLAGS_JDKEXE), \ CFLAGS_linux := -fPIC, \ CFLAGS_solaris := -KPIC, \ CFLAGS_macosx := -fPIC, \ - CFLAGS_windows := -nologo -EHsc -D_WINDOWS -DUNICODE -D_UNICODE -DWIN32 -D_LITTLE_ENDIAN -DWIN32_LEAN_AND_MEAN, \ - DISABLED_WARNINGS_gcc := unused-result implicit-fallthrough, \ - LDFLAGS := $(LDFLAGS_JDKEXE) $(LDFLAGS_CXX_JDK) \ - $(call SET_SHARED_LIBRARY_ORIGIN), \ + CFLAGS_windows := -EHsc -DUNICODE -D_UNICODE, \ + LDFLAGS_windows := -nologo, \ LDFLAGS_macosx := -stdlib=libstdc++, \ LIBS_macosx := -framework Cocoa, \ LIBS := $(LIBCXX), \ @@ -99,33 +97,31 @@ # Build console version of launcher ifeq ($(OPENJDK_TARGET_OS), windows) -PACKAGERAPPLAUNCHERCEXE_SRC := $(TOPDIR)/src/jdk.jpackager/$(OPENJDK_TARGET_OS)/native/launcher +# Output executable and symbols files in the same directory as .obj files. + $(eval $(call SetupJdkExecutable, BUILD_PACKAGERAPPLAUNCHERCEXE, \ + NAME := papplauncherc, \ + SRC := $(PACKAGERAPPLAUNCHEREXE_SRC), \ + OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/papplauncherc, \ + TOOLCHAIN := TOOLCHAIN_LINK_CXX, \ + OPTIMIZATION := LOW, \ + CFLAGS := $(CXXFLAGS_JDKEXE), \ + CFLAGS_windows := -EHsc -DLAUNCHERC -DUNICODE -D_UNICODE, \ + LDFLAGS_windows := -nologo, \ + LIBS := $(LIBCXX), \ + LIBS_windows := user32.lib shell32.lib advapi32.lib, \ + VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \ + )) -# Output executable and debug symbols files in the same directory as .obj files. -$(eval $(call SetupJdkExecutable, BUILD_PACKAGERAPPLAUNCHERCEXE, \ - NAME := papplauncherc, \ - SRC := $(PACKAGERAPPLAUNCHERCEXE_SRC), \ - OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/papplauncherc, \ - TOOLCHAIN := TOOLCHAIN_LINK_CXX, \ - OPTIMIZATION := LOW, \ - CFLAGS := $(CXXFLAGS_JDKEXE) -DFULL, \ - CFLAGS_release := -DPRODUCT, \ - CFLAGS_windows := -nologo -EHsc -DLAUNCHERC -D_WINDOWS -DUNICODE -D_UNICODE -DWIN32 -D_LITTLE_ENDIAN -DWIN32_LEAN_AND_MEAN, \ - LDFLAGS := $(LDFLAGS_JDKEXE) $(LDFLAGS_CXX_JDK) \ - $(call SET_SHARED_LIBRARY_ORIGIN), \ - LIBS := $(LIBCXX), \ - LIBS_windows := user32.lib shell32.lib advapi32.lib, \ - VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \ -)) - -TARGETS += $(BUILD_PACKAGERAPPLAUNCHERCEXE) + TARGETS += $(BUILD_PACKAGERAPPLAUNCHERCEXE) endif ################################################################################ -# Copy debug symbols to module lib output directory so that JDK build system put them in jdk/bin directory. -# Copy binaries to module classes output directory so that JDK build system put them in module resources. +# Copy debug symbols to module lib output directory so that JDK build system +# put them in jdk/bin directory. +# Copy binaries to module classes output directory so that JDK build system +# put them in module resources. ifeq ($(OPENJDK_TARGET_OS), macosx) RESOURCE_SUBDIR := mac @@ -150,5 +146,5 @@ $(call SetupCopyTargetFiles,BUILD_PACKAGERAPPLAUNCHEREXE) ifeq ($(OPENJDK_TARGET_OS), windows) -$(call SetupCopyTargetFiles,BUILD_PACKAGERAPPLAUNCHERCEXE) + $(call SetupCopyTargetFiles,BUILD_PACKAGERAPPLAUNCHERCEXE) endif diff -r 5f20b792d15b -r 124983f48645 src/jdk.jlink/linux/classes/module-info.java.extra --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/jdk.jlink/linux/classes/module-info.java.extra Fri Nov 16 14:42:43 2018 -0500 @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + + exports jdk.tools.jlink.internal.packager to + jdk.jpackager; diff -r 5f20b792d15b -r 124983f48645 src/jdk.jlink/macosx/classes/module-info.java.extra --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/jdk.jlink/macosx/classes/module-info.java.extra Fri Nov 16 14:42:43 2018 -0500 @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + + exports jdk.tools.jlink.internal.packager to + jdk.jpackager; diff -r 5f20b792d15b -r 124983f48645 src/jdk.jlink/share/classes/module-info.java --- a/src/jdk.jlink/share/classes/module-info.java Fri Nov 09 11:15:38 2018 -0500 +++ b/src/jdk.jlink/share/classes/module-info.java Fri Nov 16 14:42:43 2018 -0500 @@ -76,7 +76,4 @@ jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin, jdk.tools.jlink.internal.plugins.GenerateJLIClassesPlugin, jdk.tools.jlink.internal.plugins.ReleaseInfoPlugin; - - exports jdk.tools.jlink.internal.packager to - jdk.jpackager; - } +} diff -r 5f20b792d15b -r 124983f48645 src/jdk.jlink/windows/classes/module-info.java.extra --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/jdk.jlink/windows/classes/module-info.java.extra Fri Nov 16 14:42:43 2018 -0500 @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + + exports jdk.tools.jlink.internal.packager to + jdk.jpackager; diff -r 5f20b792d15b -r 124983f48645 src/jdk.jpackager/windows/classes/jdk/jpackager/internal/resources/builders/windows/WindowsAppImageBuilder.properties --- a/src/jdk.jpackager/windows/classes/jdk/jpackager/internal/resources/builders/windows/WindowsAppImageBuilder.properties Fri Nov 09 11:15:38 2018 -0500 +++ b/src/jdk.jpackager/windows/classes/jdk/jpackager/internal/resources/builders/windows/WindowsAppImageBuilder.properties Fri Nov 16 14:42:43 2018 -0500 @@ -40,5 +40,6 @@ error.cannot-write-to-output-dir=Output directory {0} is not writable. message.potential.windows.defender.issue=Warning: Windows Defender may prevent the Java Packager from functioning. If there is an issue, it can be addressed by either disabling realtime monitoring, or adding an exclusion for the directory "{0}". +message.icon-not-ico=The specified icon "{0}" is not an ICO file and will not be used. The default icon will be used in it's place. resource.executable-properties-template=Template for creating executable properties file. diff -r 5f20b792d15b -r 124983f48645 src/jdk.jpackager/windows/classes/jdk/jpackager/internal/resources/builders/windows/WindowsAppImageBuilder_ja.properties --- a/src/jdk.jpackager/windows/classes/jdk/jpackager/internal/resources/builders/windows/WindowsAppImageBuilder_ja.properties Fri Nov 09 11:15:38 2018 -0500 +++ b/src/jdk.jpackager/windows/classes/jdk/jpackager/internal/resources/builders/windows/WindowsAppImageBuilder_ja.properties Fri Nov 16 14:42:43 2018 -0500 @@ -40,5 +40,6 @@ error.cannot-write-to-output-dir=\u51FA\u529B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA{0}\u306F\u66F8\u8FBC\u307F\u4E0D\u53EF\u3067\u3059\u3002 message.potential.windows.defender.issue=\u8B66\u544A: Windows Defender\u304C\u539F\u56E0\u3067Java\u30D1\u30C3\u30B1\u30FC\u30B8\u30E3\u304C\u6A5F\u80FD\u3057\u306A\u3044\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002\u554F\u984C\u304C\u767A\u751F\u3057\u305F\u5834\u5408\u306F\u3001\u30EA\u30A2\u30EB\u30BF\u30A4\u30E0\u30FB\u30E2\u30CB\u30BF\u30EA\u30F3\u30B0\u3092\u7121\u52B9\u306B\u3059\u308B\u304B\u3001\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA"{0}"\u306E\u9664\u5916\u3092\u8FFD\u52A0\u3059\u308B\u3053\u3068\u306B\u3088\u308A\u3001\u554F\u984C\u306B\u5BFE\u51E6\u3067\u304D\u307E\u3059\u3002 +message.icon-not-ico=The specified icon "{0}" is not an ICO file and will not be used. The default icon will be used in it's place. resource.executable-properties-template=\u5B9F\u884C\u53EF\u80FD\u306A\u30D7\u30ED\u30D1\u30C6\u30A3\u30FB\u30D5\u30A1\u30A4\u30EB\u4F5C\u6210\u7528\u306E\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3002 diff -r 5f20b792d15b -r 124983f48645 src/jdk.jpackager/windows/classes/jdk/jpackager/internal/resources/builders/windows/WindowsAppImageBuilder_zh_CN.properties --- a/src/jdk.jpackager/windows/classes/jdk/jpackager/internal/resources/builders/windows/WindowsAppImageBuilder_zh_CN.properties Fri Nov 09 11:15:38 2018 -0500 +++ b/src/jdk.jpackager/windows/classes/jdk/jpackager/internal/resources/builders/windows/WindowsAppImageBuilder_zh_CN.properties Fri Nov 16 14:42:43 2018 -0500 @@ -40,5 +40,6 @@ error.cannot-write-to-output-dir=\u8F93\u51FA\u76EE\u5F55 {0} \u4E0D\u53EF\u5199\u3002 message.potential.windows.defender.issue=\u8B66\u544A: Windows Defender \u53EF\u80FD\u4F1A\u963B\u6B62 Java \u6253\u5305\u7A0B\u5E8F\u6B63\u5E38\u5DE5\u4F5C\u3002\u5982\u679C\u5B58\u5728\u95EE\u9898, \u53EF\u4EE5\u901A\u8FC7\u7981\u7528\u5B9E\u65F6\u76D1\u89C6\u6216\u8005\u4E3A\u76EE\u5F55 "{0}" \u6DFB\u52A0\u6392\u9664\u9879\u8FDB\u884C\u89E3\u51B3\u3002 +message.icon-not-ico=The specified icon "{0}" is not an ICO file and will not be used. The default icon will be used in it's place. resource.executable-properties-template=\u7528\u4E8E\u521B\u5EFA\u53EF\u6267\u884C\u5C5E\u6027\u6587\u4EF6\u7684\u6A21\u677F\u3002