8225428: CLI change to remove "mode", rename to "package", and build only one target
Reviewed-by: asemenyuk, kcr, almatvee
--- a/src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxDebBundler.java Mon Jun 17 15:38:04 2019 -0400
+++ b/src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxDebBundler.java Thu Jun 20 14:13:50 2019 -0400
@@ -858,7 +858,12 @@
@Override
public boolean supported(boolean runtimeInstaller) {
- return (Platform.getPlatform() == Platform.LINUX);
+ if (Platform.getPlatform() == Platform.LINUX) {
+ if (testTool(TOOL_DPKG, "1")) {
+ return true;
+ }
+ }
+ return false;
}
public int getSquareSizeOfImage(File f) {
--- a/src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxRpmBundler.java Mon Jun 17 15:38:04 2019 -0400
+++ b/src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxRpmBundler.java Thu Jun 20 14:13:50 2019 -0400
@@ -700,7 +700,12 @@
@Override
public boolean supported(boolean runtimeInstaller) {
- return (Platform.getPlatform() == Platform.LINUX);
+ if (Platform.getPlatform() == Platform.LINUX) {
+ if (testTool(TOOL_RPMBUILD, TOOL_RPMBUILD_MIN_VERSION)) {
+ return true;
+ }
+ }
+ return false;
}
public int getSquareSizeOfImage(File f) {
--- a/src/jdk.jpackage/share/classes/jdk/jpackage/internal/Arguments.java Mon Jun 17 15:38:04 2019 -0400
+++ b/src/jdk.jpackage/share/classes/jdk/jpackage/internal/Arguments.java Thu Jun 20 14:13:50 2019 -0400
@@ -64,36 +64,18 @@
private static final ResourceBundle I18N = ResourceBundle.getBundle(
"jdk.jpackage.internal.resources.MainResources");
- private static final String APPIMAGE_MODE = "create-app-image";
- private static final String INSTALLER_MODE = "create-installer";
-
+ private static final String IMAGE_PACKAGE_TYPE = "app-image";
private static final String FA_EXTENSIONS = "extension";
private static final String FA_CONTENT_TYPE = "mime-type";
private static final String FA_DESCRIPTION = "description";
private static final String FA_ICON = "icon";
- static final BundlerParamInfo<Boolean> CREATE_APP_IMAGE =
- new StandardBundlerParam<>(
- APPIMAGE_MODE,
- Boolean.class,
- p -> Boolean.FALSE,
- (s, p) -> (s == null || "null".equalsIgnoreCase(s)) ?
- true : Boolean.valueOf(s));
-
- static final BundlerParamInfo<Boolean> CREATE_INSTALLER =
- new StandardBundlerParam<>(
- INSTALLER_MODE,
- Boolean.class,
- p -> Boolean.FALSE,
- (s, p) -> (s == null || "null".equalsIgnoreCase(s)) ?
- true : Boolean.valueOf(s));
-
// regexp for parsing args (for example, for additional launchers)
private static Pattern pattern = Pattern.compile(
"(?:(?:([\"'])(?:\\\\\\1|.)*?(?:\\1|$))|(?:\\\\[\"'\\s]|[^\\s]))++");
private DeployParams deployParams = null;
- private BundlerType bundleType = null;
+ private String packageType = null;
private int pos = 0;
private List<String> argList = null;
@@ -106,7 +88,6 @@
private boolean hasMainJar = false;
private boolean hasMainClass = false;
private boolean hasMainModule = false;
- private boolean hasTargetFormat = false;
public boolean userProvidedBuildRoot = false;
private String buildRoot = null;
@@ -114,8 +95,6 @@
private static boolean runtimeInstaller = false;
- private List<jdk.jpackage.internal.Bundler> platformBundlers = null;
-
private List<AddLauncherArguments> addLaunchers = null;
private static Map<String, CLIOptions> argIds = new HashMap<>();
@@ -140,7 +119,8 @@
pos = 0;
deployParams = new DeployParams();
- bundleType = BundlerType.NONE;
+
+ packageType = null;
allOptions = new ArrayList<>();
@@ -149,26 +129,9 @@
// CLIOptions is public for DeployParamsTest
public enum CLIOptions {
- CREATE_APP_IMAGE(APPIMAGE_MODE, OptionCategories.MODE, () -> {
- context().bundleType = BundlerType.IMAGE;
- context().deployParams.setTargetFormat("image");
- setOptionValue(APPIMAGE_MODE, true);
- }),
-
- CREATE_INSTALLER(INSTALLER_MODE, OptionCategories.MODE, () -> {
- setOptionValue(INSTALLER_MODE, true);
- context().bundleType = BundlerType.INSTALLER;
- String format = "installer";
- context().deployParams.setTargetFormat(format);
- }),
-
- INSTALLER_TYPE("installer-type", OptionCategories.PROPERTY, () -> {
- String type = popArg();
- if (BundlerType.INSTALLER.equals(context().bundleType)) {
- context().deployParams.setTargetFormat(type);
- context().hasTargetFormat = true;
- }
- setOptionValue("installer-type", type);
+ PACKAGE_TYPE("package-type", OptionCategories.PROPERTY, () -> {
+ context().packageType = popArg();
+ context().deployParams.setTargetFormat(context().packageType);
}),
INPUT ("input", "i", OptionCategories.PROPERTY, () -> {
@@ -499,11 +462,6 @@
}
}
- if (allOptions.isEmpty() || !allOptions.get(0).isMode()) {
- // first argument should always be a mode.
- throw new PackagerException("ERR_MissingMode");
- }
-
if (hasMainJar && !hasMainClass) {
// try to get main-class from manifest
String mainClass = getMainClassFromManifest();
@@ -513,15 +471,13 @@
}
}
- // display warning for arguments that are not supported
+ // display error for arguments that are not supported
// for current configuration.
validateArguments();
addResources(deployParams, input);
- deployParams.setBundleType(bundleType);
-
List<Map<String, ? super Object>> launchersAsMap =
new ArrayList<>();
@@ -563,7 +519,8 @@
throw new PackagerException("ERR_NoJreInstallerName");
}
- return generateBundle(bp.getBundleParamsAsMap());
+ generateBundle(bp.getBundleParamsAsMap());
+ return true;
} catch (Exception e) {
if (Log.isVerbose()) {
Log.verbose(e);
@@ -582,14 +539,15 @@
}
private void validateArguments() throws PackagerException {
- CLIOptions mode = allOptions.get(0);
- boolean imageOnly = (mode == CLIOptions.CREATE_APP_IMAGE);
+ String packageType = deployParams.getTargetFormat();
+ String ptype = (packageType != null) ? packageType : "default";
+ boolean imageOnly = IMAGE_PACKAGE_TYPE.equals(packageType);
boolean hasAppImage = allOptions.contains(
CLIOptions.PREDEFINED_APP_IMAGE);
boolean hasRuntime = allOptions.contains(
CLIOptions.PREDEFINED_RUNTIME_IMAGE);
boolean installerOnly = !imageOnly && hasAppImage;
- boolean runtimeInstall = !imageOnly && hasRuntime && !hasAppImage &&
+ runtimeInstaller = !imageOnly && hasRuntime && !hasAppImage &&
!hasMainModule && !hasMainJar;
for (CLIOptions option : allOptions) {
@@ -600,21 +558,26 @@
}
if (imageOnly) {
if (!ValidOptions.checkIfImageSupported(option)) {
- throw new PackagerException("ERR_NotImageOption",
- option.getIdWithPrefix());
+ throw new PackagerException("ERR_InvalidTypeOption",
+ option.getIdWithPrefix(), packageType);
}
- } else if (installerOnly || runtimeInstall) {
+ } else if (installerOnly || runtimeInstaller) {
if (!ValidOptions.checkIfInstallerSupported(option)) {
- String key = runtimeInstaller ?
- "ERR_NoInstallerEntryPoint" : "ERR_NotInstallerOption";
- throw new PackagerException(key, option.getIdWithPrefix());
+ if (runtimeInstaller) {
+ throw new PackagerException("ERR_NoInstallerEntryPoint",
+ option.getIdWithPrefix());
+ } else {
+ throw new PackagerException("ERR_InvalidTypeOption",
+ option.getIdWithPrefix(), ptype);
+ }
}
}
}
if (installerOnly && hasRuntime) {
// note --runtime-image is only for image or runtime installer.
- throw new PackagerException("ERR_NotInstallerOption",
- CLIOptions.PREDEFINED_RUNTIME_IMAGE.getIdWithPrefix());
+ throw new PackagerException("ERR_InvalidTypeOption",
+ CLIOptions.PREDEFINED_RUNTIME_IMAGE.getIdWithPrefix(),
+ ptype);
}
if (hasMainJar && hasMainModule) {
throw new PackagerException("ERR_BothMainJarAndModule");
@@ -624,30 +587,22 @@
}
}
- private List<jdk.jpackage.internal.Bundler> getPlatformBundlers() {
+ private jdk.jpackage.internal.Bundler getPlatformBundler() {
+ String bundleType = (packageType == null ? "IMAGE" : "INSTALLER");
- if (platformBundlers != null) {
- return platformBundlers;
- }
-
- platformBundlers = new ArrayList<>();
for (jdk.jpackage.internal.Bundler bundler :
- Bundlers.createBundlersInstance().getBundlers(
- bundleType.toString())) {
- if (hasTargetFormat && deployParams.getTargetFormat() != null &&
- !deployParams.getTargetFormat().equalsIgnoreCase(
- bundler.getID())) {
- continue;
- }
- if (bundler.supported(runtimeInstaller)) {
- platformBundlers.add(bundler);
+ Bundlers.createBundlersInstance().getBundlers(bundleType)) {
+ if ((packageType == null) ||
+ packageType.equalsIgnoreCase(bundler.getID())) {
+ if (bundler.supported(runtimeInstaller)) {
+ return bundler;
+ }
}
}
-
- return platformBundlers;
+ return null;
}
- private boolean generateBundle(Map<String,? super Object> params)
+ private void generateBundle(Map<String,? super Object> params)
throws PackagerException {
boolean bundleCreated = false;
@@ -659,67 +614,54 @@
// The bundler.cleanup() below would not otherwise be able to
// clean these extra (and unneeded) temp directories.
StandardBundlerParam.TEMP_ROOT.fetchFrom(params);
- List<jdk.jpackage.internal.Bundler> bundlers = getPlatformBundlers();
- if (bundlers.isEmpty()) {
+
+ // determine what bundler to run
+ jdk.jpackage.internal.Bundler bundler = getPlatformBundler();
+
+ if (bundler == null) {
throw new PackagerException("ERR_InvalidInstallerType",
- deployParams.getTargetFormat());
+ deployParams.getTargetFormat());
}
- PackagerException pe = null;
- for (jdk.jpackage.internal.Bundler bundler : bundlers) {
- Map<String, ? super Object> localParams = new HashMap<>(params);
- try {
- if (bundler.validate(localParams)) {
- File result =
- bundler.execute(localParams, deployParams.outdir);
- if (!userProvidedBuildRoot) {
- bundler.cleanup(localParams);
- }
- if (result == null) {
- throw new PackagerException("MSG_BundlerFailed",
- bundler.getID(), bundler.getName());
- }
- bundleCreated = true; // at least one bundle was created
- }
+
+ Map<String, ? super Object> localParams = new HashMap<>(params);
+ try {
+ bundler.validate(localParams);
+ File result = bundler.execute(localParams, deployParams.outdir);
+ if (!userProvidedBuildRoot) {
+ bundler.cleanup(localParams);
+ }
+ if (result == null) {
+ throw new PackagerException("MSG_BundlerFailed",
+ bundler.getID(), bundler.getName());
+ }
+ Log.verbose(MessageFormat.format(
+ I18N.getString("message.bundle-created"),
+ bundler.getName()));
+ } catch (UnsupportedPlatformException upe) {
+ Log.debug(upe);
+ throw new PackagerException(upe,
+ "MSG_BundlerPlatformException", bundler.getName());
+ } catch (ConfigException e) {
+ Log.debug(e);
+ if (e.getAdvice() != null) {
+ throw new PackagerException(e, "MSG_BundlerConfigException",
+ bundler.getName(), e.getMessage(), e.getAdvice());
+ } else {
+ throw new PackagerException(e,
+ "MSG_BundlerConfigExceptionNoAdvice",
+ bundler.getName(), e.getMessage());
+ }
+ } catch (RuntimeException re) {
+ Log.debug(re);
+ throw new PackagerException(re, "MSG_BundlerRuntimeException",
+ bundler.getName(), re.toString());
+ } finally {
+ if (userProvidedBuildRoot) {
Log.verbose(MessageFormat.format(
- I18N.getString("message.bundle-created"),
- bundler.getName()));
- } catch (UnsupportedPlatformException upe) {
- Log.debug(upe);
- if (pe == null) {
- pe = new PackagerException(upe,
- "MSG_BundlerPlatformException", bundler.getName());
- }
- } catch (ConfigException e) {
- Log.debug(e);
- if (pe == null) {
- pe = (e.getAdvice() != null) ?
- new PackagerException(e,
- "MSG_BundlerConfigException",
- bundler.getName(), e.getMessage(), e.getAdvice()) :
- new PackagerException(e,
- "MSG_BundlerConfigExceptionNoAdvice",
- bundler.getName(), e.getMessage());
- }
- } catch (RuntimeException re) {
- Log.debug(re);
- if (pe == null) {
- pe = new PackagerException(re,
- "MSG_BundlerRuntimeException",
- bundler.getName(), re.toString());
- }
- } finally {
- if (userProvidedBuildRoot) {
- Log.verbose(MessageFormat.format(
- I18N.getString("message.debug-working-directory"),
- (new File(buildRoot)).getAbsolutePath()));
- }
+ I18N.getString("message.debug-working-directory"),
+ (new File(buildRoot)).getAbsolutePath()));
}
}
- if (pe != null) {
- // throw packager exception only after trying all bundlers
- throw pe;
- }
- return bundleCreated;
}
private void addResources(DeployParams deployParams,
--- a/src/jdk.jpackage/share/classes/jdk/jpackage/internal/BundleParams.java Mon Jun 17 15:38:04 2019 -0400
+++ b/src/jdk.jpackage/share/classes/jdk/jpackage/internal/BundleParams.java Thu Jun 20 14:13:50 2019 -0400
@@ -41,12 +41,7 @@
// RelativeFileSet
public static final String PARAM_APP_RESOURCES = "appResources";
- // BundlerType
- public static final String PARAM_TYPE = "type";
-
- // String
- public static final String PARAM_BUNDLE_FORMAT = "bundleFormat";
- // String
+ // String - Icon file name
public static final String PARAM_ICON = "icon";
// String - Name of bundle file and native launcher
@@ -205,24 +200,6 @@
putUnlessNull(PARAM_NAME, name);
}
- @SuppressWarnings("deprecation")
- public BundlerType getType() {
- return fetchParam(BundlerType.class, PARAM_TYPE);
- }
-
- @SuppressWarnings("deprecation")
- public void setType(BundlerType type) {
- putUnlessNull(PARAM_TYPE, type);
- }
-
- public String getBundleFormat() {
- return fetchParam(String.class, PARAM_BUNDLE_FORMAT);
- }
-
- public void setBundleFormat(String t) {
- putUnlessNull(PARAM_BUNDLE_FORMAT, t);
- }
-
public boolean getVerbose() {
return fetchParam(VERBOSE);
}
--- a/src/jdk.jpackage/share/classes/jdk/jpackage/internal/BundlerType.java Mon Jun 17 15:38:04 2019 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
- * Copyright (c) 2012, 2019, 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.
- */
-
-package jdk.jpackage.internal;
-
-enum BundlerType {
- NONE,
- IMAGE, // Generates app image only
- INSTALLER // Generates installers
-}
--- a/src/jdk.jpackage/share/classes/jdk/jpackage/internal/DeployParams.java Mon Jun 17 15:38:04 2019 -0400
+++ b/src/jdk.jpackage/share/classes/jdk/jpackage/internal/DeployParams.java Thu Jun 20 14:13:50 2019 -0400
@@ -52,8 +52,7 @@
final List<RelativeFileSet> resources = new ArrayList<>();
- BundlerType bundleType = BundlerType.NONE;
- String targetFormat = null; //means any
+ String targetFormat = null; // means app-image
String licenseType;
String copyright;
String version;
@@ -250,10 +249,10 @@
Arguments.CLIOptions.INPUT.getId()) != null);
boolean hasModulePath = (bundlerArguments.get(
Arguments.CLIOptions.MODULE_PATH.getId()) != null);
- boolean runtimeInstaller = (BundlerType.INSTALLER == getBundleType()) &&
+ boolean runtimeInstaller = targetFormat != null &&
!hasAppImage && !hasModule && !hasMain && hasRuntimeImage;
- if (getBundleType() == BundlerType.IMAGE) {
+ if (targetFormat == null) {
// Module application requires --runtime-image or --module-path
if (hasModule) {
if (!hasModulePath && !hasRuntimeImage) {
@@ -266,7 +265,7 @@
"ERR_MissingArgument", "--input");
}
}
- } else if (getBundleType() == BundlerType.INSTALLER) {
+ } else {
if (!runtimeInstaller) {
if (hasModule) {
if (!hasModulePath && !hasRuntimeImage && !hasAppImage) {
@@ -342,14 +341,6 @@
return result;
}
- void setBundleType(BundlerType type) {
- bundleType = type;
- }
-
- BundlerType getBundleType() {
- return bundleType;
- }
-
void setTargetFormat(String t) {
targetFormat = t;
}
@@ -403,8 +394,6 @@
bundleParams.setApplicationClass(applicationClass);
bundleParams.setAppVersion(version);
- bundleParams.setType(bundleType);
- bundleParams.setBundleFormat(targetFormat);
bundleParams.setCopyright(copyright);
bundleParams.setJvmargs(jvmargs);
--- a/src/jdk.jpackage/share/classes/jdk/jpackage/internal/ValidOptions.java Mon Jun 17 15:38:04 2019 -0400
+++ b/src/jdk.jpackage/share/classes/jdk/jpackage/internal/ValidOptions.java Thu Jun 20 14:13:50 2019 -0400
@@ -62,8 +62,6 @@
// initializing list of mandatory arguments
static {
- options.put(CLIOptions.CREATE_APP_IMAGE.getId(), USE.ALL);
- options.put(CLIOptions.CREATE_INSTALLER.getId(), USE.ALL);
options.put(CLIOptions.NAME.getId(), USE.ALL);
options.put(CLIOptions.VERSION.getId(), USE.ALL);
options.put(CLIOptions.OUTPUT.getId(), USE.ALL);
@@ -75,6 +73,7 @@
options.put(CLIOptions.DESCRIPTION.getId(), USE.ALL);
options.put(CLIOptions.VENDOR.getId(), USE.ALL);
options.put(CLIOptions.COPYRIGHT.getId(), USE.ALL);
+ options.put(CLIOptions.PACKAGE_TYPE.getId(), USE.ALL);
options.put(CLIOptions.INPUT.getId(), USE.LAUNCHER);
options.put(CLIOptions.MODULE.getId(), USE.LAUNCHER);
@@ -87,7 +86,6 @@
options.put(CLIOptions.JAVA_OPTIONS.getId(), USE.LAUNCHER);
options.put(CLIOptions.ADD_LAUNCHER.getId(), USE.LAUNCHER);
- options.put(CLIOptions.INSTALLER_TYPE.getId(), USE.INSTALL);
options.put(CLIOptions.LICENSE_FILE.getId(), USE.INSTALL);
options.put(CLIOptions.INSTALL_DIR.getId(), USE.INSTALL);
options.put(CLIOptions.PREDEFINED_APP_IMAGE.getId(), USE.INSTALL);
--- a/src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources.properties Mon Jun 17 15:38:04 2019 -0400
+++ b/src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources.properties Thu Jun 20 14:13:50 2019 -0400
@@ -24,44 +24,42 @@
#
#
-MSG_Help=Usage: jpackage <mode> <options>\n\
+MSG_Help=Usage: jpackage <options>\n\
\n\
-where mode is one of: \n\
-\ create-app-image\n\
-\ Generates a platform-specific application image.\n\
-\ create-installer\n\
-\ Generates a platform-specific installer for the application.\n\
-\ \n\
Sample usages:\n\
--------------\n\
\ Generate a non-modular application image:\n\
-\ jpackage create-app-image -o outputdir -i inputdir -n name \\\n\
+\ jpackage -o outputdir -i inputdir -n name \\\n\
\ --main-class className --main-jar MyJar.jar\n\
\ Generate a modular application image:\n\
-\ jpackage create-app-image -o outputdir -n name \\\n\
-\ -p modulePath -m moduleName/className\n\
+\ jpackage -o outputdir -n name -p modulePath -m moduleName/className\n\
\ To provide your own options to jlink, run jlink separately:\n\
\ jlink --output appRuntimeImage -p ModulePath -m moduleName \\\n\
\ --no-header-files [<additional jlink options>...]\n\
-\ jpackage create-app-image -o outputdir -n name \\\n\
+\ jpackage -o outputdir -n name \\\n\
\ -m moduleName/className --runtime-image appRuntimeImage\n\
-\ Generate an application installer:\n\
-\ jpackage create-installer -o outputdir -n name \\\n\
+\ Generate an application package:\n\
+\ jpackage --package-type <type> -o outputdir -n name \\\n\
\ -p modulePath -m moduleName/className\n\
-\ jpackage create-installer -i inputdir -o outputdir -n name \\\n\
+\ jpackage --package-type <type> -i inputdir -o outputdir -n name \\\n\
\ --main-class package.ClassName --main-jar MyJar.jar\n\
-\ jpackage create-installer -o outputdir -n <installer-name> \\\n\
-\ --app-image <app image dir> [--installer-type <type>]\n\
-\ Generate a Java runtime installer:\n\
-\ jpackage create-installer -o outputdir -n name \\\n\
+\ jpackage --package-type <type> -o outputdir -n name \\\n\
+\ --app-image <app image dir>\n\
+\ Generate a Java runtime package:\n\
+\ jpackage --package-type <type> -o outputdir -n name \\\n\
\ --runtime-image <runtime-image>\n\
\n\
Generic Options:\n\
\ @<filename> \n\
\ Read options and/or mode from a file \n\
\ This option can be used multiple times.\n\
+\ --package-type <type> \n\
+\ The type of package to create\n\
+\ Valid values are: {1} \n\
+\ If this option is not specified an application image will be\n\
+\ created.\n\
\ --app-version <version>\n\
-\ Version of the application and/or installer\n\
+\ Version of the application and/or package\n\
\ --copyright <copyright string>\n\
\ Copyright for the application\n\
\ --description <description string>\n\
@@ -70,7 +68,7 @@
\ Print the usage text with a list and description of each valid\n\
\ option for the current platform to the output stream, and exit\n\
\ --name -n <name>\n\
-\ Name of the application and/or installer\n\
+\ Name of the application and/or package\n\
\ --output -o <output path>\n\
\ Path where generated output file is placed\n\
\ (absolute path or relative to the current directory)\n\
@@ -159,12 +157,11 @@
\ in the Java runtime image. Either --module or --main-jar\n\
\ option can be specified but not both.\n\
{2}\n\
-\Options for creating the application installer(s):\n\
+\Options for creating the application package:\n\
\ --app-image <file path>\n\
\ Location of the predefined application image that is used\n\
\ to build an installable package\n\
\ (absolute path or relative to the current directory)\n\
-\ See create-app-image mode options to create the application image.\n\
\ --file-associations <file path>\n\
\ Path to a Properties file that contains list of key, value pairs\n\
\ (absolute path or relative to the current directory)\n\
@@ -177,12 +174,6 @@
\ The value should be a valid DNS name.\n\
\ --install-dir <file path>\n\
\ {4}\
-\ --installer-type <type> \n\
-\ The type of the installer to create\n\
-\ Valid values are: {1} \n\
-\ If this option is not specified (in create-installer mode) all\n\
-\ supported types of installable packages for the current\n\
-\ platform will be created.\n\
\ --license-file <file path>\n\
\ Path to the license file\n\
\ (absolute path or relative to the current directory)\n\
@@ -194,9 +185,9 @@
\ --runtime-image <file-path>\n\
\ Path of the predefined runtime image to install\n\
\ (absolute path or relative to the current directory)\n\
-\ Option is required when creating a runtime installer.\n\
+\ Option is required when creating a runtime package.\n\
\n\
-\Platform dependent options for creating the application installer(s):\n\
+\Platform dependent options for creating the application package:\n\
{3}
MSG_Help_win_launcher=\
--- a/src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_ja.properties Mon Jun 17 15:38:04 2019 -0400
+++ b/src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_ja.properties Thu Jun 20 14:13:50 2019 -0400
@@ -24,44 +24,42 @@
#
#
-MSG_Help=Usage: jpackage <mode> <options>\n\
+MSG_Help=Usage: jpackage <options>\n\
\n\
-where mode is one of: \n\
-\ create-app-image\n\
-\ Generates a platform-specific application image.\n\
-\ create-installer\n\
-\ Generates a platform-specific installer for the application.\n\
-\ \n\
Sample usages:\n\
--------------\n\
\ Generate a non-modular application image:\n\
-\ jpackage create-app-image -o outputdir -i inputdir -n name \\\n\
+\ jpackage -o outputdir -i inputdir -n name \\\n\
\ --main-class className --main-jar MyJar.jar\n\
\ Generate a modular application image:\n\
-\ jpackage create-app-image -o outputdir -n name \\\n\
-\ -p modulePath -m moduleName/className\n\
+\ jpackage -o outputdir -n name -p modulePath -m moduleName/className\n\
\ To provide your own options to jlink, run jlink separately:\n\
\ jlink --output appRuntimeImage -p ModulePath -m moduleName \\\n\
\ --no-header-files [<additional jlink options>...]\n\
-\ jpackage create-app-image -o outputdir -n name \\\n\
+\ jpackage -o outputdir -n name \\\n\
\ -m moduleName/className --runtime-image appRuntimeImage\n\
-\ Generate an application installer:\n\
-\ jpackage create-installer -o outputdir -n name \\\n\
+\ Generate an application package:\n\
+\ jpackage --package-type <type> -o outputdir -n name \\\n\
\ -p modulePath -m moduleName/className\n\
-\ jpackage create-installer -i inputdir -o outputdir -n name \\\n\
+\ jpackage --package-type <type> -i inputdir -o outputdir -n name \\\n\
\ --main-class package.ClassName --main-jar MyJar.jar\n\
-\ jpackage create-installer -o outputdir -n <installer-name> \\\n\
-\ --app-image <app image dir> [--installer-type <type>]\n\
-\ Generate a Java runtime installer:\n\
-\ jpackage create-installer -o outputdir -n name \\\n\
+\ jpackage --package-type <type> -o outputdir -n name \\\n\
+\ --app-image <app image dir>\n\
+\ Generate a Java runtime package:\n\
+\ jpackage --package-type <type> -o outputdir -n name \\\n\
\ --runtime-image <runtime-image>\n\
\n\
Generic Options:\n\
\ @<filename> \n\
\ Read options and/or mode from a file \n\
\ This option can be used multiple times.\n\
+\ --package-type <type> \n\
+\ The type of package to create\n\
+\ Valid values are: {1} \n\
+\ If this option is not specified an application image will be\n\
+\ created.\n\
\ --app-version <version>\n\
-\ Version of the application and/or installer\n\
+\ Version of the application and/or package\n\
\ --copyright <copyright string>\n\
\ Copyright for the application\n\
\ --description <description string>\n\
@@ -70,7 +68,7 @@
\ Print the usage text with a list and description of each valid\n\
\ option for the current platform to the output stream, and exit\n\
\ --name -n <name>\n\
-\ Name of the application and/or installer\n\
+\ Name of the application and/or package\n\
\ --output -o <output path>\n\
\ Path where generated output file is placed\n\
\ (absolute path or relative to the current directory)\n\
@@ -159,12 +157,11 @@
\ in the Java runtime image. Either --module or --main-jar\n\
\ option can be specified but not both.\n\
{2}\n\
-\Options for creating the application installer(s):\n\
+\Options for creating the application package:\n\
\ --app-image <file path>\n\
\ Location of the predefined application image that is used\n\
\ to build an installable package\n\
\ (absolute path or relative to the current directory)\n\
-\ See create-app-image mode options to create the application image.\n\
\ --file-associations <file path>\n\
\ Path to a Properties file that contains list of key, value pairs\n\
\ (absolute path or relative to the current directory)\n\
@@ -177,12 +174,6 @@
\ The value should be a valid DNS name.\n\
\ --install-dir <file path>\n\
\ {4}\
-\ --installer-type <type> \n\
-\ The type of the installer to create\n\
-\ Valid values are: {1} \n\
-\ If this option is not specified (in create-installer mode) all\n\
-\ supported types of installable packages for the current\n\
-\ platform will be created.\n\
\ --license-file <file path>\n\
\ Path to the license file\n\
\ (absolute path or relative to the current directory)\n\
@@ -194,9 +185,9 @@
\ --runtime-image <file-path>\n\
\ Path of the predefined runtime image to install\n\
\ (absolute path or relative to the current directory)\n\
-\ Option is required when creating a runtime installer.\n\
+\ Option is required when creating a runtime package.\n\
\n\
-\Platform dependent options for creating the application installer(s):\n\
+\Platform dependent options for creating the application package:\n\
{3}
MSG_Help_win_launcher=\
--- a/src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_zh_CN.properties Mon Jun 17 15:38:04 2019 -0400
+++ b/src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_zh_CN.properties Thu Jun 20 14:13:50 2019 -0400
@@ -24,44 +24,42 @@
#
#
-MSG_Help=Usage: jpackage <mode> <options>\n\
+MSG_Help=Usage: jpackage <options>\n\
\n\
-where mode is one of: \n\
-\ create-app-image\n\
-\ Generates a platform-specific application image.\n\
-\ create-installer\n\
-\ Generates a platform-specific installer for the application.\n\
-\ \n\
Sample usages:\n\
--------------\n\
\ Generate a non-modular application image:\n\
-\ jpackage create-app-image -o outputdir -i inputdir -n name \\\n\
+\ jpackage -o outputdir -i inputdir -n name \\\n\
\ --main-class className --main-jar MyJar.jar\n\
\ Generate a modular application image:\n\
-\ jpackage create-app-image -o outputdir -n name \\\n\
-\ -p modulePath -m moduleName/className\n\
+\ jpackage -o outputdir -n name -p modulePath -m moduleName/className\n\
\ To provide your own options to jlink, run jlink separately:\n\
\ jlink --output appRuntimeImage -p ModulePath -m moduleName \\\n\
\ --no-header-files [<additional jlink options>...]\n\
-\ jpackage create-app-image -o outputdir -n name \\\n\
+\ jpackage -o outputdir -n name \\\n\
\ -m moduleName/className --runtime-image appRuntimeImage\n\
-\ Generate an application installer:\n\
-\ jpackage create-installer -o outputdir -n name \\\n\
+\ Generate an application package:\n\
+\ jpackage --package-type <type> -o outputdir -n name \\\n\
\ -p modulePath -m moduleName/className\n\
-\ jpackage create-installer -i inputdir -o outputdir -n name \\\n\
+\ jpackage --package-type <type> -i inputdir -o outputdir -n name \\\n\
\ --main-class package.ClassName --main-jar MyJar.jar\n\
-\ jpackage create-installer -o outputdir -n <installer-name> \\\n\
-\ --app-image <app image dir> [--installer-type <type>]\n\
-\ Generate a Java runtime installer:\n\
-\ jpackage create-installer -o outputdir -n name \\\n\
+\ jpackage --package-type <type> -o outputdir -n name \\\n\
+\ --app-image <app image dir>\n\
+\ Generate a Java runtime package:\n\
+\ jpackage --package-type <type> -o outputdir -n name \\\n\
\ --runtime-image <runtime-image>\n\
\n\
Generic Options:\n\
\ @<filename> \n\
\ Read options and/or mode from a file \n\
\ This option can be used multiple times.\n\
+\ --package-type <type> \n\
+\ The type of package to create\n\
+\ Valid values are: {1} \n\
+\ If this option is not specified an application image will be\n\
+\ created.\n\
\ --app-version <version>\n\
-\ Version of the application and/or installer\n\
+\ Version of the application and/or package\n\
\ --copyright <copyright string>\n\
\ Copyright for the application\n\
\ --description <description string>\n\
@@ -70,7 +68,7 @@
\ Print the usage text with a list and description of each valid\n\
\ option for the current platform to the output stream, and exit\n\
\ --name -n <name>\n\
-\ Name of the application and/or installer\n\
+\ Name of the application and/or package\n\
\ --output -o <output path>\n\
\ Path where generated output file is placed\n\
\ (absolute path or relative to the current directory)\n\
@@ -159,12 +157,11 @@
\ in the Java runtime image. Either --module or --main-jar\n\
\ option can be specified but not both.\n\
{2}\n\
-\Options for creating the application installer(s):\n\
+\Options for creating the application package:\n\
\ --app-image <file path>\n\
\ Location of the predefined application image that is used\n\
\ to build an installable package\n\
\ (absolute path or relative to the current directory)\n\
-\ See create-app-image mode options to create the application image.\n\
\ --file-associations <file path>\n\
\ Path to a Properties file that contains list of key, value pairs\n\
\ (absolute path or relative to the current directory)\n\
@@ -177,12 +174,6 @@
\ The value should be a valid DNS name.\n\
\ --install-dir <file path>\n\
\ {4}\
-\ --installer-type <type> \n\
-\ The type of the installer to create\n\
-\ Valid values are: {1} \n\
-\ If this option is not specified (in create-installer mode) all\n\
-\ supported types of installable packages for the current\n\
-\ platform will be created.\n\
\ --license-file <file path>\n\
\ Path to the license file\n\
\ (absolute path or relative to the current directory)\n\
@@ -194,9 +185,9 @@
\ --runtime-image <file-path>\n\
\ Path of the predefined runtime image to install\n\
\ (absolute path or relative to the current directory)\n\
-\ Option is required when creating a runtime installer.\n\
+\ Option is required when creating a runtime package.\n\
\n\
-\Platform dependent options for creating the application installer(s):\n\
+\Platform dependent options for creating the application package:\n\
{3}
MSG_Help_win_launcher=\
--- a/src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources.properties Mon Jun 17 15:38:04 2019 -0400
+++ b/src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources.properties Thu Jun 20 14:13:50 2019 -0400
@@ -64,11 +64,9 @@
ERR_NoMainClass=Error: Main application class is missing.
ERR_UnsupportedOption=Error: Option [{0}] is not valid on this platform.
-ERR_NotImageOption=Error: Option [{0}] is not valid in create-app-image mode.
-ERR_NotInstallerOption=Error: Option [{0}] is not valid with --app-image option.
+ERR_InvalidTypeOption=Error: Option [{0}] is not valid with package-type [{1}].
ERR_NoInstallerEntryPoint=Error: Option [{0}] is not valid without --module or --main-jar entry point option.
-ERR_MissingMode=Error: Mode is not specified.
ERR_MissingArgument=Error: Missing argument: {0}.
ERR_MissingAppResources=Error: No application jars found.
ERR_AppImageNotExist=Error: App image directory "{0}" does not exist.
@@ -81,8 +79,8 @@
ERR_BuildRootInvalid=Error: temp-root ({0}) must be non-existant directory.
ERR_InvalidOption=Error: Invalid Option: [{0}].
ERR_VersionComparison=Error: Failed to compare version {0} with {1}.
-ERR_InvalidInstallerType=Error: Invalid or Unsupported Installer type: [{0}].
+ERR_InvalidInstallerType=Error: Invalid or unsupported package type: [{0}].
ERR_BothMainJarAndModule=Error: Cannot have both --main-jar and --module Options.
-ERR_NoEntryPoint=Error: create-app-image requires --main-jar or --module Option.
+ERR_NoEntryPoint=Error: creating application image requires --main-jar or --module Option.
ERR_InputNotDirectory=Error: Input directory specified is not a directory: {0}.
ERR_CannotReadInputDir=Error: No permission to read from input directory: {0}.
--- a/src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_ja.properties Mon Jun 17 15:38:04 2019 -0400
+++ b/src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_ja.properties Thu Jun 20 14:13:50 2019 -0400
@@ -64,11 +64,9 @@
ERR_NoMainClass=Error: Main application class is missing.
ERR_UnsupportedOption=Error: Option [{0}] is not valid on this platform.
-ERR_NotImageOption=Error: Option [{0}] is not valid in create-app-image mode.
-ERR_NotInstallerOption=Error: Option [{0}] is not valid with --app-image option.
+ERR_InvalidTypeOption=Error: Option [{0}] is not valid with package-type [{1}].
ERR_NoInstallerEntryPoint=Error: Option [{0}] is not valid without --module or --main-jar entry point option.
-ERR_MissingMode=Error: Mode is not specified.
ERR_MissingArgument=Error: Missing argument: {0}.
ERR_MissingAppResources=Error: No application jars found.
ERR_AppImageNotExist=Error: App image directory "{0}" does not exist.
@@ -81,8 +79,8 @@
ERR_BuildRootInvalid=Error: temp-root ({0}) must be non-existant directory.
ERR_InvalidOption=Error: Invalid Option: [{0}].
ERR_VersionComparison=Error: Failed to compare version {0} with {1}.
-ERR_InvalidInstallerType=Error: Invalid or Unsupported Installer type: [{0}].
+ERR_InvalidInstallerType=Error: Invalid or unsupported package type: [{0}].
ERR_BothMainJarAndModule=Error: Cannot have both --main-jar and --module Options.
-ERR_NoEntryPoint=Error: create-app-image requires --main-jar or --module Option.
+ERR_NoEntryPoint=Error: creating application image requires --main-jar or --module Option.
ERR_InputNotDirectory=Error: Input directory specified is not a directory: {0}.
ERR_CannotReadInputDir=Error: No permission to read from input directory: {0}.
--- a/src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_zh_CN.properties Mon Jun 17 15:38:04 2019 -0400
+++ b/src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_zh_CN.properties Thu Jun 20 14:13:50 2019 -0400
@@ -64,11 +64,9 @@
ERR_NoMainClass=Error: Main application class is missing.
ERR_UnsupportedOption=Error: Option [{0}] is not valid on this platform.
-ERR_NotImageOption=Error: Option [{0}] is not valid in create-app-image mode.
-ERR_NotInstallerOption=Error: Option [{0}] is not valid with --app-image option.
+ERR_InvalidTypeOption=Error: Option [{0}] is not valid with package-type [{1}].
ERR_NoInstallerEntryPoint=Error: Option [{0}] is not valid without --module or --main-jar entry point option.
-ERR_MissingMode=Error: Mode is not specified.
ERR_MissingArgument=Error: Missing argument: {0}.
ERR_MissingAppResources=Error: No application jars found.
ERR_AppImageNotExist=Error: App image directory "{0}" does not exist.
@@ -81,8 +79,8 @@
ERR_BuildRootInvalid=Error: temp-root ({0}) must be non-existant directory.
ERR_InvalidOption=Error: Invalid Option: [{0}].
ERR_VersionComparison=Error: Failed to compare version {0} with {1}.
-ERR_InvalidInstallerType=Error: Invalid or Unsupported Installer type: [{0}].
+ERR_InvalidInstallerType=Error: Invalid or unsupported package type: [{0}].
ERR_BothMainJarAndModule=Error: Cannot have both --main-jar and --module Options.
-ERR_NoEntryPoint=Error: create-app-image requires --main-jar or --module Option.
+ERR_NoEntryPoint=Error: creating application image requires --main-jar or --module Option.
ERR_InputNotDirectory=Error: Input directory specified is not a directory: {0}.
ERR_CannotReadInputDir=Error: No permission to read from input directory: {0}.
--- a/src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WinExeBundler.java Mon Jun 17 15:38:04 2019 -0400
+++ b/src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WinExeBundler.java Thu Jun 20 14:13:50 2019 -0400
@@ -107,6 +107,8 @@
public File bundle(Map<String, ? super Object> params, File outdir)
throws PackagerException {
+ IOUtils.writableOutputDir(outdir.toPath());
+
File exeImageDir = EXE_IMAGE_DIR.fetchFrom(params);
// Write msi to temporary directory.
--- a/src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WinExeBundler.java.html Mon Jun 17 15:38:04 2019 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,240 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head><meta charset="utf-8">
-<meta http-equiv="cache-control" content="no-cache" />
-<meta http-equiv="Pragma" content="no-cache" />
-<meta http-equiv="Expires" content="-1" />
-<!--
- Note to customizers: the body of the webrev is IDed as SUNWwebrev
- to allow easy overriding by users of webrev via the userContent.css
- mechanism available in some browsers.
-
- For example, to have all "removed" information be red instead of
- brown, set a rule in your userContent.css file like:
-
- body#SUNWwebrev span.removed { color: red ! important; }
--->
-<style type="text/css" media="screen">
-body {
- background-color: #eeeeee;
-}
-hr {
- border: none 0;
- border-top: 1px solid #aaa;
- height: 1px;
-}
-div.summary {
- font-size: .8em;
- border-bottom: 1px solid #aaa;
- padding-left: 1em;
- padding-right: 1em;
-}
-div.summary h2 {
- margin-bottom: 0.3em;
-}
-div.summary table th {
- text-align: right;
- vertical-align: top;
- white-space: nowrap;
-}
-span.lineschanged {
- font-size: 0.7em;
-}
-span.oldmarker {
- color: red;
- font-size: large;
- font-weight: bold;
-}
-span.newmarker {
- color: green;
- font-size: large;
- font-weight: bold;
-}
-span.removed {
- color: brown;
-}
-span.changed {
- color: blue;
-}
-span.new {
- color: blue;
- font-weight: bold;
-}
-a.print { font-size: x-small; }
-
-</style>
-
-<style type="text/css" media="print">
-pre { font-size: 0.8em; font-family: courier, monospace; }
-span.removed { color: #444; font-style: italic }
-span.changed { font-weight: bold; }
-span.new { font-weight: bold; }
-span.newmarker { font-size: 1.2em; font-weight: bold; }
-span.oldmarker { font-size: 1.2em; font-weight: bold; }
-a.print {display: none}
-hr { border: none 0; border-top: 1px solid #aaa; height: 1px; }
-</style>
-
-<title>New src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WinExeBundler.java</title>
-<body id="SUNWwebrev">
-<pre>
- 1 /*
- 2 * Copyright (c) 2017, 2019, Oracle and/or its affiliates. All rights reserved.
- 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- 4 *
- 5 * This code is free software; you can redistribute it and/or modify it
- 6 * under the terms of the GNU General Public License version 2 only, as
- 7 * published by the Free Software Foundation. Oracle designates this
- 8 * particular file as subject to the "Classpath" exception as provided
- 9 * by Oracle in the LICENSE file that accompanied this code.
- 10 *
- 11 * This code is distributed in the hope that it will be useful, but WITHOUT
- 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- 14 * version 2 for more details (a copy is included in the LICENSE file that
- 15 * accompanied this code).
- 16 *
- 17 * You should have received a copy of the GNU General Public License version
- 18 * 2 along with this work; if not, write to the Free Software Foundation,
- 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- 20 *
- 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- 22 * or visit www.oracle.com if you need additional information or have any
- 23 * questions.
- 24 */
- 25 package jdk.jpackage.internal;
- 26
- 27 import java.io.*;
- 28 import java.nio.file.Files;
- 29 import java.nio.file.Path;
- 30 import java.nio.file.Paths;
- 31 import java.text.MessageFormat;
- 32 import java.util.*;
- 33
- 34 public class WinExeBundler extends AbstractBundler {
- 35
- 36 static {
- 37 System.loadLibrary("jpackage");
- 38 }
- 39
- 40 private static final ResourceBundle I18N = ResourceBundle.getBundle(
- 41 "jdk.jpackage.internal.resources.WinResources");
- 42
- 43 public static final BundlerParamInfo<WinAppBundler> APP_BUNDLER
- 44 = new WindowsBundlerParam<>(
- 45 "win.app.bundler",
- 46 WinAppBundler.class,
- 47 params -> new WinAppBundler(),
- 48 null);
- 49
- 50 public static final BundlerParamInfo<File> EXE_IMAGE_DIR
- 51 = new WindowsBundlerParam<>(
- 52 "win.exe.imageDir",
- 53 File.class,
- 54 params -> {
- 55 File imagesRoot = IMAGES_ROOT.fetchFrom(params);
- 56 if (!imagesRoot.exists()) {
- 57 imagesRoot.mkdirs();
- 58 }
- 59 return new File(imagesRoot, "win-exe.image");
- 60 },
- 61 (s, p) -> null);
- 62
- 63 private final static String EXE_WRAPPER_NAME = "msiwrapper.exe";
- 64
- 65 @Override
- 66 public String getName() {
- 67 return getString("exe.bundler.name");
- 68 }
- 69
- 70 @Override
- 71 public String getDescription() {
- 72 return getString("exe.bundler.description");
- 73 }
- 74
- 75 @Override
- 76 public String getID() {
- 77 return "exe";
- 78 }
- 79
- 80 @Override
- 81 public String getBundleType() {
- 82 return "INSTALLER";
- 83 }
- 84
- 85 @Override
- 86 public Collection<BundlerParamInfo<?>> getBundleParameters() {
- 87 return new WinMsiBundler().getBundleParameters();
- 88 }
- 89
- 90 @Override
- 91 public File execute(Map<String, ? super Object> params,
- 92 File outputParentDir) throws PackagerException {
- 93 return bundle(params, outputParentDir);
- 94 }
- 95
- 96 @Override
- 97 public boolean supported(boolean platformInstaller) {
- 98 return (Platform.getPlatform() == Platform.WINDOWS);
- 99 }
- 100
- 101 @Override
- 102 public boolean validate(Map<String, ? super Object> params)
- 103 throws UnsupportedPlatformException, ConfigException {
- 104 return new WinMsiBundler().validate(params);
- 105 }
- 106
- 107 public File bundle(Map<String, ? super Object> params, File outdir)
- 108 throws PackagerException {
- 109
- 110 File exeImageDir = EXE_IMAGE_DIR.fetchFrom(params);
- 111
- 112 // Write msi to temporary directory.
- 113 File msi = new WinMsiBundler().bundle(params, exeImageDir);
- 114
- 115 try {
- 116 return buildEXE(msi, outdir);
- 117 } catch (IOException ex) {
- 118 Log.verbose(ex);
- 119 throw new PackagerException(ex);
- 120 }
- 121 }
- 122
- 123 private File buildEXE(File msi, File outdir)
- 124 throws IOException {
- 125
- 126 Log.verbose(MessageFormat.format(
- 127 getString("message.outputting-to-location"),
- 128 outdir.getAbsolutePath()));
- 129
- 130 // Copy template msi wrapper next to msi file
- 131 String exePath = msi.getAbsolutePath();
- 132 exePath = exePath.substring(0, exePath.lastIndexOf('.')) + ".exe";
- 133 try (InputStream is = getResourceAsStream(EXE_WRAPPER_NAME)) {
- 134 Files.copy(is, Path.of(exePath));
- 135 }
- 136 // Embed msi in msi wrapper exe.
- 137 embedMSI(exePath, msi.getAbsolutePath());
- 138
- 139 Path dstExePath = Paths.get(outdir.getAbsolutePath(), Path.of(exePath).getFileName().toString());
- 140 Files.deleteIfExists(dstExePath);
- 141
- 142 Files.copy(Path.of(exePath), dstExePath);
- 143
- 144 Log.verbose(MessageFormat.format(
- 145 getString("message.output-location"),
- 146 outdir.getAbsolutePath()));
- 147
- 148 return dstExePath.toFile();
- 149 }
- 150
- 151 private static String getString(String key)
- 152 throws MissingResourceException {
- 153 return I18N.getString(key);
- 154 }
- 155
- 156 private static native int embedMSI(String exePath, String msiPath);
- 157 }
-</pre></body></html>
--- a/src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WinMsiBundler.java Mon Jun 17 15:38:04 2019 -0400
+++ b/src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WinMsiBundler.java Thu Jun 20 14:13:50 2019 -0400
@@ -456,6 +456,7 @@
File lfile = new File(licenseFile);
File destFile = new File(CONFIG_ROOT.fetchFrom(params),
lfile.getName());
+
IOUtils.copyFile(lfile, destFile);
destFile.setWritable(true);
ensureByMutationFileIsRTF(destFile);
@@ -666,8 +667,11 @@
data.put("JpIsSystemWide", "yes");
}
- if (LICENSE_FILE.fetchFrom(params) != null) {
- data.put("JpLicenseRtf", LICENSE_FILE.fetchFrom(params));
+ String licenseFile = LICENSE_FILE.fetchFrom(params);
+ if (licenseFile != null) {
+ String lname = new File(licenseFile).getName();
+ File destFile = new File(CONFIG_ROOT.fetchFrom(params), lname);
+ data.put("JpLicenseRtf", destFile.getAbsolutePath());
}
// Copy CA dll to include with installer
--- a/test/jdk/tools/jpackage/JPackageInvalidArgTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/JPackageInvalidArgTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -36,7 +36,7 @@
private static final String ARG2 = "--output";
private static final String RESULT1 =
"Invalid Option: [--no-such-argument]";
- private static final String RESULT2 = "Mode is not specified";
+ private static final String RESULT2 = "Missing argument:";
private static void validate(String arg, String output) throws Exception {
String[] result = output.split("\n");
--- a/test/jdk/tools/jpackage/JPackageMissingArgumentsTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/JPackageMissingArgumentsTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -34,7 +34,6 @@
public class JPackageMissingArgumentsTest {
private static final String [] RESULT_1 = {"--output"};
private static final String [] CMD_1 = {
- "create-app-image",
"--input", "input",
"--name", "test",
"--main-jar", "hello.jar",
@@ -43,7 +42,6 @@
private static final String [] RESULT_2 = {"--input"};
private static final String [] CMD_2 = {
- "create-app-image",
"--output", "output",
"--name", "test",
"--main-jar", "hello.jar",
@@ -52,7 +50,7 @@
private static final String [] RESULT_3 = {"--input", "--app-image"};
private static final String [] CMD_3 = {
- "create-installer",
+ "--package-type", "invalid-package-type",
"--output", "output",
"--name", "test",
"--main-jar", "hello.jar",
@@ -61,7 +59,6 @@
private static final String [] RESULT_4 = {"main class was not specified"};
private static final String [] CMD_4 = {
- "create-app-image",
"--input", "input",
"--output", "output",
"--name", "test",
@@ -70,7 +67,6 @@
private static final String [] RESULT_5 = {"--main-jar"};
private static final String [] CMD_5 = {
- "create-app-image",
"--input", "input",
"--output", "output",
"--name", "test",
@@ -79,7 +75,6 @@
private static final String [] RESULT_6 = {"--module-path", "--runtime-image"};
private static final String [] CMD_6 = {
- "create-app-image",
"--output", "output",
"--name", "test",
"--module", "com.hello/com.hello.Hello",
@@ -88,7 +83,7 @@
private static final String [] RESULT_7 = {"--module-path", "--runtime-image",
"--app-image"};
private static final String [] CMD_7 = {
- "create-installer",
+ "--package-type", "invalid-package-type",
"--output", "output",
"--name", "test",
"--module", "com.hello/com.hello.Hello",
@@ -133,6 +128,7 @@
output = JPackageHelper.executeCLI(false, CMD_7);
validate(output, RESULT_7, true);
+
}
private static void testMissingArgToolProvider() throws Exception {
--- a/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageAddLauncherModuleTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageAddLauncherModuleTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -34,7 +34,6 @@
public class JPackageCreateAppImageAddLauncherModuleTest {
private static final String OUTPUT = "output";
private static final String [] CMD = {
- "create-app-image",
"--output", OUTPUT,
"--name", "test",
"--module", "com.hello/com.hello.Hello",
--- a/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageAddLauncherTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageAddLauncherTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -34,7 +34,6 @@
public class JPackageCreateAppImageAddLauncherTest {
private static final String OUTPUT = "output";
private static final String [] CMD = {
- "create-app-image",
"--input", "input",
"--output", OUTPUT,
"--name", "test",
--- a/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageAddLaunchersTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageAddLaunchersTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -34,7 +34,6 @@
public class JPackageCreateAppImageAddLaunchersTest {
private static final String OUTPUT = "output";
private static final String [] CMD1 = {
- "create-app-image",
"--description", "Test non modular app with multiple add-launchers where one is modular app and other is non modular app",
"--input", "input",
"--output", OUTPUT,
@@ -47,7 +46,6 @@
"--add-launcher", "test4=m1.properties"};
private static final String [] CMD2 = {
- "create-app-image",
"--description", "Test modular app with multiple add-launchers where one is modular app and other is non modular app",
"--input", "input",
"--output", OUTPUT,
--- a/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageAddModulesTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageAddModulesTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -35,7 +35,6 @@
private static final String OUTPUT = "output";
private static final String [] CMD1 = {
- "create-app-image",
"--output", OUTPUT,
"--name", "test",
"--module", "com.hello/com.hello.Hello",
@@ -44,7 +43,6 @@
};
private static final String [] CMD2 = {
- "create-app-image",
"--output", OUTPUT,
"--name", "test",
"--module", "com.hello/com.hello.Hello",
@@ -53,7 +51,6 @@
};
private static final String [] CMD3 = {
- "create-app-image",
"--output", OUTPUT,
"--name", "test",
"--module", "com.hello/com.hello.Hello",
--- a/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageArgumentsModuleTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageArgumentsModuleTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -35,7 +35,6 @@
private static final String OUTPUT = "output";
private static final String[] CMD = {
- "create-app-image",
"--output", OUTPUT,
"--name", "test",
"--module", "com.hello/com.hello.Hello",
--- a/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageArgumentsTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageArgumentsTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -35,7 +35,6 @@
private static final String OUTPUT = "output";
private static final String[] CMD = {
- "create-app-image",
"--input", "input",
"--output", OUTPUT,
"--name", "test",
--- a/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageAtFilenameTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageAtFilenameTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -35,7 +35,6 @@
private static final String OUTPUT = "output";
private static final String [] CMD = {
- "create-app-image",
"--input", "input",
"--output", OUTPUT,
"--name", "test",
--- a/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageErrorTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageErrorTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -45,10 +45,9 @@
private static final String EXPECTED1 =
"Invalid Option: [--no-such-argument]";
private static final String ARG2 = "--output";
- private static final String EXPECTED2 = "Mode is not specified";
+ private static final String EXPECTED2 = "Missing argument:";
private static final String [] CMD1 = {
- "create-app-image",
"--input", "input",
"--output", OUTPUT,
"--name", "test",
@@ -57,7 +56,6 @@
private static final String EXP1 = "main jar does not exist";
private static final String [] CMD2 = {
- "create-app-image",
"--input", "input",
"--output", OUTPUT,
"--name", "test",
--- a/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageIconTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageIconTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -40,7 +40,6 @@
private static final String appWorkingDir = JPackagePath.getAppWorkingDir();
private static final String[] CMD = {
- "create-app-image",
"--input", "input",
"--name", "test",
"--main-jar", "hello.jar",
--- a/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageJLinkModuleTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageJLinkModuleTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -38,7 +38,6 @@
private static final String RUNTIME = "runtime";
private static final String [] CMD = {
- "create-app-image",
"--output", OUTPUT,
"--name", "test",
"--module", "com.other/com.other.Other",
--- a/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageJavaOptionsEqualsTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageJavaOptionsEqualsTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -42,7 +42,6 @@
private static final String OUTPUT = "output";
private static final String[] CMD = {
- "create-app-image",
"--input", "input",
"--description", "the two options below should cause two app execution "
+ "Warnings with two lines output saying: "
--- a/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageJavaOptionsModuleTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageJavaOptionsModuleTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -35,7 +35,6 @@
private static final String OUTPUT = "output";
private static final String[] CMD = {
- "create-app-image",
"--output", OUTPUT,
"--name", "test",
"--module", "com.hello/com.hello.Hello",
@@ -43,7 +42,6 @@
"--java-options", "TBD"};
private static final String[] CMD2 = {
- "create-app-image",
"--output", OUTPUT,
"--name", "test",
"--module", "com.hello/com.hello.Hello",
--- a/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageJavaOptionsTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageJavaOptionsTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -35,7 +35,6 @@
private static final String OUTPUT = "output";
private static final String[] CMD = {
- "create-app-image",
"--input", "input",
"--output", OUTPUT,
"--name", "test",
@@ -44,7 +43,6 @@
"--java-options", "TBD"};
private static final String[] CMD2 = {
- "create-app-image",
"--input", "input",
"--output", OUTPUT,
"--name", "test",
--- a/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageMainClassAttributeTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageMainClassAttributeTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -40,7 +40,6 @@
private static final String appWorkingDir = JPackagePath.getAppWorkingDir();
private static final String[] CMD = {
- "create-app-image",
"--input", "input",
"--output", OUTPUT,
"--name", "test",
--- a/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageMainClassErrorTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageMainClassErrorTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -40,7 +40,6 @@
private static final String appWorkingDir = JPackagePath.getAppWorkingDir();
private static final String[] CMD = {
- "create-app-image",
"--input", "input",
"--output", OUTPUT,
"--name", "test",
--- a/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageModularJarTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageModularJarTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -35,7 +35,6 @@
private static final String OUTPUT = "output";
private static final String [] CMD1 = {
- "create-app-image",
"--input", "input",
"--output", OUTPUT,
"--name", "test",
@@ -44,7 +43,6 @@
};
private static final String [] CMD2 = {
- "create-app-image",
"--output", OUTPUT,
"--name", "test",
"--module", "com.hello/com.hello.Hello",
--- a/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageModuleMainClassErrorTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageModuleMainClassErrorTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -40,14 +40,12 @@
private static final String appWorkingDir = JPackagePath.getAppWorkingDir();
private static final String [] CMD1 = {
- "create-app-image",
"--output", OUTPUT,
"--name", "test",
"--module", "com.hello",
"--module-path", "input"};
private static final String [] CMD2 = {
- "create-app-image",
"--output", OUTPUT,
"--name", "test",
"--module", "com.hello/com.hello.Hello",
--- a/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageModulePathTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageModulePathTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -38,7 +38,6 @@
private static final String OUTPUT = "output";
private static final String [] CMD1 = {
- "create-app-image",
"--output", OUTPUT,
"--name", "test",
"--module", "com.hello/com.hello.Hello",
@@ -46,7 +45,6 @@
};
private static final String [] CMD2 = {
- "create-app-image",
"--output", OUTPUT,
"--name", "test",
"--module", "com.hello/com.hello.Hello",
@@ -54,7 +52,6 @@
};
private static final String [] CMD3 = {
- "create-app-image",
"--output", OUTPUT,
"--name", "test",
"--module", "com.hello/com.hello.Hello",
--- a/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageModuleTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageModuleTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -35,7 +35,6 @@
private static final String OUTPUT = "output";
private static final String [] CMD1 = {
- "create-app-image",
"--module-path", "module",
"--module", "com.other/com.other.Other",
"--output", OUTPUT,
@@ -43,7 +42,6 @@
};
private static String [] commands = {
- "create-app-image",
"--module-path", "module",
"--module", "com.other/com.other.Other",
"--output", OUTPUT,
--- a/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageNoNameTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageNoNameTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -41,7 +41,6 @@
JPackagePath.getAppWorkingDir("Hello");
private static final String[] CMD = {
- "create-app-image",
"--input", "input",
"--output", OUTPUT,
"--main-jar", "hello.jar",
--- a/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageResourceTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageResourceTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -44,7 +44,6 @@
JPackagePath.getTestSrcRoot() + File.separator + "resources";
private static final String[] CMD = {
- "create-app-image",
"--input", "input",
"--name", "icon",
"--main-jar", "hello.jar",
--- a/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageRuntimeModuleTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageRuntimeModuleTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -34,7 +34,6 @@
public class JPackageCreateAppImageRuntimeModuleTest {
private static final String OUTPUT = "output";
private static final String [] CMD = {
- "create-app-image",
"--runtime-image", "runtime",
"--output", OUTPUT,
"--name", "test",
--- a/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageRuntimeTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageRuntimeTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -34,7 +34,6 @@
public class JPackageCreateAppImageRuntimeTest {
private static final String OUTPUT = "output";
private static final String [] CMD = {
- "create-app-image",
"--runtime-image", "runtime",
"--input", "input",
"--output", OUTPUT,
--- a/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageTempRootTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageTempRootTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -40,7 +40,6 @@
private static final String BUILD_ROOT_TB = "buildRootToolProvider";
private static final String [] CMD = {
- "create-app-image",
"--input", "input",
"--output", OUTPUT,
"--name", "test",
@@ -49,7 +48,6 @@
};
private static final String [] CMD_BUILD_ROOT = {
- "create-app-image",
"--input", "input",
"--output", OUTPUT,
"--name", "test",
--- a/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -35,7 +35,6 @@
private static final String OUTPUT = "output";
private static final String [] CMD = {
- "create-app-image",
"--input", "input",
"--output", OUTPUT,
"--name", "test",
--- a/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageVerboseTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageVerboseTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -33,7 +33,6 @@
public class JPackageCreateAppImageVerboseTest {
private static final String OUTPUT = "output";
private static final String[] CMD = {
- "create-app-image",
"--input", "input",
"--output", OUTPUT,
"--name", "test",
@@ -42,7 +41,6 @@
};
private static final String[] CMD_VERBOSE = {
- "create-app-image",
"--input", "input",
"--output", OUTPUT,
"--name", "test",
--- a/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageVersionTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageVersionTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -40,7 +40,6 @@
private static final String VERSION_DEFAULT = "1.0";
private static final String[] CMD = {
- "create-app-image",
"--input", "input",
"--output", OUTPUT,
"--name", "test",
@@ -49,7 +48,6 @@
};
private static final String[] CMD_VERSION = {
- "create-app-image",
"--input", "input",
"--output", OUTPUT,
"--name", "test",
--- a/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageWithSpaceTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageWithSpaceTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -37,7 +37,6 @@
private static final String OUTPUT = "output";
private static final String [] CMD1 = {
- "create-app-image",
"--input", "input dir",
"--output", OUTPUT,
"--name", "test",
@@ -46,7 +45,6 @@
};
private static final String [] CMD2 = {
- "create-app-image",
"--input", "input dir2",
"--output", OUTPUT,
"--name", "test",
--- a/test/jdk/tools/jpackage/createappimage/macosx/JPackageCreateAppImageBundleIdentifierTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createappimage/macosx/JPackageCreateAppImageBundleIdentifierTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -50,7 +50,6 @@
private static final String MAIN_CLASS = "Hello";
private static final String [] CMD_1 = {
- "create-app-image",
"--input", "input",
"--output", OUTPUT,
"--name", APP_NAME,
@@ -59,7 +58,6 @@
};
private static final String [] CMD_2 = {
- "create-app-image",
"--input", "input",
"--output", OUTPUT,
"--name", APP_NAME,
--- a/test/jdk/tools/jpackage/createappimage/macosx/JPackageCreateAppImageBundleNameTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createappimage/macosx/JPackageCreateAppImageBundleNameTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -49,7 +49,6 @@
private static final String APP_NAME = "test";
private static final String [] CMD_1 = {
- "create-app-image",
"--input", "input",
"--output", OUTPUT,
"--name", APP_NAME,
@@ -58,7 +57,6 @@
};
private static final String [] CMD_2 = {
- "create-app-image",
"--input", "input",
"--output", OUTPUT,
"--name", APP_NAME,
--- a/test/jdk/tools/jpackage/createappimage/windows/JPackageCreateAppImageWinConsoleTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createappimage/windows/JPackageCreateAppImageWinConsoleTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -48,7 +48,6 @@
private static final int CONSOLE_SUBSYSTEM = 3;
private static final String [] CMD = {
- "create-app-image",
"--input", "input",
"--output", OUTPUT,
"--name", NAME,
@@ -57,7 +56,6 @@
};
private static final String [] CMD_WIN_CONSOLE = {
- "create-app-image",
"--input", "input",
"--output", OUTPUT_WIN_CONSOLE,
"--name", NAME,
--- a/test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerBase.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerBase.java Thu Jun 20 14:13:50 2019 -0400
@@ -66,8 +66,7 @@
OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
}
CMD = new String[]{
- "create-installer",
- "--installer-type", EXT,
+ "--package-type", EXT,
"--input", "input",
"--output", "output",
"--name", TEST_NAME,
--- a/test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerBundleNameBase.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerBundleNameBase.java Thu Jun 20 14:13:50 2019 -0400
@@ -68,8 +68,7 @@
OUTPUT = "output" + File.separator + BUNDLE_NAME + "-1.0." + EXT;
}
CMD = new String[]{
- "create-installer",
- "--installer-type", EXT,
+ "--package-type", EXT,
"--input", "input",
"--output", "output",
"--name", TEST_NAME,
--- a/test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerFileAssociationsBase.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerFileAssociationsBase.java Thu Jun 20 14:13:50 2019 -0400
@@ -130,8 +130,7 @@
OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
}
CMD = new String[]{
- "create-installer",
- "--installer-type", EXT,
+ "--package-type", EXT,
"--input", "input",
"--output", "output",
"--name", TEST_NAME,
--- a/test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerInstallDirBase.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerInstallDirBase.java Thu Jun 20 14:13:50 2019 -0400
@@ -72,8 +72,7 @@
OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
}
CMD = new String[]{
- "create-installer",
- "--installer-type", EXT,
+ "--package-type", EXT,
"--input", "input",
"--output", "output",
"--name", TEST_NAME,
--- a/test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerLicenseBase.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerLicenseBase.java Thu Jun 20 14:13:50 2019 -0400
@@ -67,8 +67,7 @@
OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
}
CMD = new String [] {
- "create-installer",
- "--installer-type", EXT,
+ "--package-type", EXT,
"--input", "input",
"--output", "output",
"--name", TEST_NAME,
--- a/test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerLicenseTypeBase.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerLicenseTypeBase.java Thu Jun 20 14:13:50 2019 -0400
@@ -89,8 +89,7 @@
OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
}
CMD = new String[]{
- "create-installer",
- "--installer-type", EXT,
+ "--package-type", EXT,
"--input", "input",
"--output", "output",
"--name", TEST_NAME,
--- a/test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerMaintainerBase.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerMaintainerBase.java Thu Jun 20 14:13:50 2019 -0400
@@ -85,8 +85,7 @@
EXT = ext;
OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
CMD = new String[]{
- "create-installer",
- "--installer-type", EXT,
+ "--package-type", EXT,
"--input", "input",
"--output", "output",
"--name", TEST_NAME,
--- a/test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerPackageDepsBase.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerPackageDepsBase.java Thu Jun 20 14:13:50 2019 -0400
@@ -113,8 +113,7 @@
OUTPUT_DEP = "output" + File.separator + DEP_NAME + "-1.0." + EXT;
}
CMD = new String[]{
- "create-installer",
- "--installer-type", EXT,
+ "--package-type", EXT,
"--input", "input",
"--output", "output",
"--name", TEST_NAME,
@@ -122,8 +121,7 @@
"--main-class", "Hello",
"--linux-package-deps", DEP_NAME.toLowerCase()};
CMD_DEP = new String[]{
- "create-installer",
- "--installer-type", EXT,
+ "--package-type", EXT,
"--input", "input",
"--output", "output",
"--name", DEP_NAME,
--- a/test/jdk/tools/jpackage/createinstaller/macosx/base/JPackageCreateInstallerBase.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createinstaller/macosx/base/JPackageCreateInstallerBase.java Thu Jun 20 14:13:50 2019 -0400
@@ -60,8 +60,7 @@
EXT = ext;
OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
CMD = new String[]{
- "create-installer",
- "--installer-type", EXT,
+ "--package-type", EXT,
"--input", "input",
"--output", "output",
"--name", TEST_NAME,
--- a/test/jdk/tools/jpackage/createinstaller/macosx/base/JPackageCreateInstallerFileAssociationsBase.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createinstaller/macosx/base/JPackageCreateInstallerFileAssociationsBase.java Thu Jun 20 14:13:50 2019 -0400
@@ -124,8 +124,7 @@
TEST_EXT = "jptest1";
OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
CMD = new String[]{
- "create-installer",
- "--installer-type", EXT,
+ "--package-type", EXT,
"--input", "input",
"--output", "output",
"--name", TEST_NAME,
--- a/test/jdk/tools/jpackage/createinstaller/macosx/base/JPackageCreateInstallerInstallDirBase.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createinstaller/macosx/base/JPackageCreateInstallerInstallDirBase.java Thu Jun 20 14:13:50 2019 -0400
@@ -60,8 +60,7 @@
EXT = ext;
OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
CMD = new String[]{
- "create-installer",
- "--installer-type", EXT,
+ "--package-type", EXT,
"--input", "input",
"--output", "output",
"--name", TEST_NAME,
--- a/test/jdk/tools/jpackage/createinstaller/macosx/base/JPackageCreateInstallerLicenseBase.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createinstaller/macosx/base/JPackageCreateInstallerLicenseBase.java Thu Jun 20 14:13:50 2019 -0400
@@ -61,8 +61,7 @@
EXT = ext;
OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
CMD = new String [] {
- "create-installer",
- "--installer-type", EXT,
+ "--package-type", EXT,
"--input", "input",
"--output", "output",
"--name", TEST_NAME,
--- a/test/jdk/tools/jpackage/createinstaller/macosx/base/JPackageCreateInstallerMacOptionsBase.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createinstaller/macosx/base/JPackageCreateInstallerMacOptionsBase.java Thu Jun 20 14:13:50 2019 -0400
@@ -147,8 +147,7 @@
EXT = ext;
OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
CMD = new String[] {
- "create-installer",
- "--installer-type", EXT,
+ "--package-type", EXT,
"--input", "input",
"--output", "output",
"--name", TEST_NAME,
--- a/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerBase.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerBase.java Thu Jun 20 14:13:50 2019 -0400
@@ -68,8 +68,7 @@
EXT = ext;
OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
CMD = new String[]{
- "create-installer",
- "--installer-type", EXT,
+ "--package-type", EXT,
"--input", "input",
"--output", "output",
"--name", TEST_NAME,
--- a/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerFileAssociationsBase.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerFileAssociationsBase.java Thu Jun 20 14:13:50 2019 -0400
@@ -143,8 +143,7 @@
OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
if (installDir == null) {
CMD = new String[]{
- "create-installer",
- "--installer-type", EXT,
+ "--package-type", EXT,
"--input", "input",
"--output", "output",
"--name", TEST_NAME,
@@ -153,8 +152,7 @@
"--file-associations", "fa.properties"};
} else {
CMD = new String[]{
- "create-installer",
- "--installer-type", EXT,
+ "--package-type", EXT,
"--input", "input",
"--output", "output",
"--name", TEST_NAME,
--- a/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerInstallDirBase.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerInstallDirBase.java Thu Jun 20 14:13:50 2019 -0400
@@ -76,8 +76,7 @@
OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
INSTALL_DIR = "TestVendor\\JPackageCreateInstallerInstallDirTestDir";
CMD = new String[]{
- "create-installer",
- "--installer-type", EXT,
+ "--package-type", EXT,
"--input", "input",
"--output", "output",
"--name", TEST_NAME,
--- a/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerLicenseBase.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerLicenseBase.java Thu Jun 20 14:13:50 2019 -0400
@@ -68,8 +68,7 @@
EXT = ext;
OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
CMD = new String [] {
- "create-installer",
- "--installer-type", EXT,
+ "--package-type", EXT,
"--input", "input",
"--output", "output",
"--name", TEST_NAME,
--- a/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerRuntimeBase.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerRuntimeBase.java Thu Jun 20 14:13:50 2019 -0400
@@ -61,8 +61,7 @@
EXT = ext;
OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
CMD = new String[]{
- "create-installer",
- "--installer-type", EXT,
+ "--package-type", EXT,
"--output", "output",
"--name", TEST_NAME,
"--runtime-image", System.getProperty("java.home")};
--- a/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinDirChooserBase.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinDirChooserBase.java Thu Jun 20 14:13:50 2019 -0400
@@ -68,8 +68,7 @@
EXT = ext;
OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
CMD = new String[]{
- "create-installer",
- "--installer-type", EXT,
+ "--package-type", EXT,
"--input", "input",
"--output", "output",
"--name", TEST_NAME,
--- a/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinMenuBase.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinMenuBase.java Thu Jun 20 14:13:50 2019 -0400
@@ -68,8 +68,7 @@
EXT = ext;
OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
CMD = new String[]{
- "create-installer",
- "--installer-type", EXT,
+ "--package-type", EXT,
"--input", "input",
"--output", "output",
"--name", TEST_NAME,
--- a/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinMenuGroupBase.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinMenuGroupBase.java Thu Jun 20 14:13:50 2019 -0400
@@ -68,8 +68,7 @@
EXT = ext;
OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
CMD = new String[]{
- "create-installer",
- "--installer-type", EXT,
+ "--package-type", EXT,
"--input", "input",
"--output", "output",
"--name", TEST_NAME,
--- a/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinPerUserInstallBase.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinPerUserInstallBase.java Thu Jun 20 14:13:50 2019 -0400
@@ -68,8 +68,7 @@
EXT = ext;
OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
CMD = new String[]{
- "create-installer",
- "--installer-type", EXT,
+ "--package-type", EXT,
"--input", "input",
"--output", "output",
"--name", TEST_NAME,
--- a/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinRegistryNameBase.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinRegistryNameBase.java Thu Jun 20 14:13:50 2019 -0400
@@ -144,8 +144,7 @@
WIN_REGISTRY_NAME = "JPWINTESTREGISTRYNAME";
OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
CMD = new String[]{
- "create-installer",
- "--installer-type", EXT,
+ "--package-type", EXT,
"--input", "input",
"--output", "output",
"--name", TEST_NAME,
--- a/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinShortcutBase.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinShortcutBase.java Thu Jun 20 14:13:50 2019 -0400
@@ -74,8 +74,7 @@
EXT = ext;
OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
CMD = new String[]{
- "create-installer",
- "--installer-type", EXT,
+ "--package-type", EXT,
"--input", "input",
"--output", "output",
"--name", TEST_NAME,
--- a/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinUpgradeUUIDBase.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinUpgradeUUIDBase.java Thu Jun 20 14:13:50 2019 -0400
@@ -95,8 +95,7 @@
EXT = ext;
OUTPUT_1 = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
CMD_1 = new String[]{
- "create-installer",
- "--installer-type", EXT,
+ "--package-type", EXT,
"--input", "input",
"--output", "output",
"--name", TEST_NAME,
@@ -106,8 +105,7 @@
"--win-upgrade-uuid", "F0B18E75-52AD-41A2-BC86-6BE4FCD50BEB"};
OUTPUT_2 = "output" + File.separator + TEST_NAME + "-2.0." + EXT;
CMD_2 = new String[]{
- "create-installer",
- "--installer-type", EXT,
+ "--package-type", EXT,
"--input", "input",
"--output", "output",
"--name", TEST_NAME,
--- a/test/jdk/tools/jpackage/helpers/JPackageHelper.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/helpers/JPackageHelper.java Thu Jun 20 14:13:50 2019 -0400
@@ -210,8 +210,8 @@
public static String executeCLI(boolean retValZero, String... args) throws Exception {
int retVal;
File outfile = new File("output.log");
+ String[] command = getCommand(args);
try {
- String[] command = getCommand(args);
retVal = execute(outfile, command);
} catch (Exception ex) {
if (outfile.exists()) {
@@ -223,6 +223,9 @@
String output = Files.readString(outfile.toPath());
if (retValZero) {
if (retVal != 0) {
+ System.err.println("command run:");
+ for (String s : command) { System.err.println(s); }
+ System.err.println("command output:");
System.err.println(output);
throw new AssertionError("jpackage exited with error: " + retVal);
}
--- a/test/jdk/tools/jpackage/jdk/jpackage/internal/DeployParamsTest.java Mon Jun 17 15:38:04 2019 -0400
+++ b/test/jdk/tools/jpackage/jdk/jpackage/internal/DeployParamsTest.java Thu Jun 20 14:13:50 2019 -0400
@@ -102,6 +102,7 @@
params.addResource(testRoot, new File(testRoot, "test.jar"));
params.addBundleArgument(Arguments.CLIOptions.APPCLASS.getId(), "TestClass");
params.addBundleArgument(Arguments.CLIOptions.MAIN_JAR.getId(), "test.jar");
+ params.addBundleArgument(Arguments.CLIOptions.INPUT.getId(), "input");
return params;
}