8225428: CLI change to remove "mode", rename to "package", and build only one target JDK-8200758-branch
authorherrick
Thu, 20 Jun 2019 14:13:50 -0400
branchJDK-8200758-branch
changeset 57414 6eda749d3117
parent 57413 45c74e654794
child 57415 50ac38fbd874
8225428: CLI change to remove "mode", rename to "package", and build only one target Reviewed-by: asemenyuk, kcr, almatvee
src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxDebBundler.java
src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxRpmBundler.java
src/jdk.jpackage/share/classes/jdk/jpackage/internal/Arguments.java
src/jdk.jpackage/share/classes/jdk/jpackage/internal/BundleParams.java
src/jdk.jpackage/share/classes/jdk/jpackage/internal/BundlerType.java
src/jdk.jpackage/share/classes/jdk/jpackage/internal/DeployParams.java
src/jdk.jpackage/share/classes/jdk/jpackage/internal/ValidOptions.java
src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources.properties
src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_ja.properties
src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_zh_CN.properties
src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources.properties
src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_ja.properties
src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_zh_CN.properties
src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WinExeBundler.java
src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WinExeBundler.java.html
src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WinMsiBundler.java
test/jdk/tools/jpackage/JPackageInvalidArgTest.java
test/jdk/tools/jpackage/JPackageMissingArgumentsTest.java
test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageAddLauncherModuleTest.java
test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageAddLauncherTest.java
test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageAddLaunchersTest.java
test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageAddModulesTest.java
test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageArgumentsModuleTest.java
test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageArgumentsTest.java
test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageAtFilenameTest.java
test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageErrorTest.java
test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageIconTest.java
test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageJLinkModuleTest.java
test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageJavaOptionsEqualsTest.java
test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageJavaOptionsModuleTest.java
test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageJavaOptionsTest.java
test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageMainClassAttributeTest.java
test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageMainClassErrorTest.java
test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageModularJarTest.java
test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageModuleMainClassErrorTest.java
test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageModulePathTest.java
test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageModuleTest.java
test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageNoNameTest.java
test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageResourceTest.java
test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageRuntimeModuleTest.java
test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageRuntimeTest.java
test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageTempRootTest.java
test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageTest.java
test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageVerboseTest.java
test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageVersionTest.java
test/jdk/tools/jpackage/createappimage/JPackageCreateAppImageWithSpaceTest.java
test/jdk/tools/jpackage/createappimage/macosx/JPackageCreateAppImageBundleIdentifierTest.java
test/jdk/tools/jpackage/createappimage/macosx/JPackageCreateAppImageBundleNameTest.java
test/jdk/tools/jpackage/createappimage/windows/JPackageCreateAppImageWinConsoleTest.java
test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerBase.java
test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerBundleNameBase.java
test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerFileAssociationsBase.java
test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerInstallDirBase.java
test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerLicenseBase.java
test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerLicenseTypeBase.java
test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerMaintainerBase.java
test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerPackageDepsBase.java
test/jdk/tools/jpackage/createinstaller/macosx/base/JPackageCreateInstallerBase.java
test/jdk/tools/jpackage/createinstaller/macosx/base/JPackageCreateInstallerFileAssociationsBase.java
test/jdk/tools/jpackage/createinstaller/macosx/base/JPackageCreateInstallerInstallDirBase.java
test/jdk/tools/jpackage/createinstaller/macosx/base/JPackageCreateInstallerLicenseBase.java
test/jdk/tools/jpackage/createinstaller/macosx/base/JPackageCreateInstallerMacOptionsBase.java
test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerBase.java
test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerFileAssociationsBase.java
test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerInstallDirBase.java
test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerLicenseBase.java
test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerRuntimeBase.java
test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinDirChooserBase.java
test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinMenuBase.java
test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinMenuGroupBase.java
test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinPerUserInstallBase.java
test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinRegistryNameBase.java
test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinShortcutBase.java
test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinUpgradeUUIDBase.java
test/jdk/tools/jpackage/helpers/JPackageHelper.java
test/jdk/tools/jpackage/jdk/jpackage/internal/DeployParamsTest.java
--- 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&lt;WinAppBundler&gt; APP_BUNDLER
-  44             = new WindowsBundlerParam&lt;&gt;(
-  45                     "win.app.bundler",
-  46                     WinAppBundler.class,
-  47                     params -&gt; new WinAppBundler(),
-  48                     null);
-  49 
-  50     public static final BundlerParamInfo&lt;File&gt; EXE_IMAGE_DIR
-  51             = new WindowsBundlerParam&lt;&gt;(
-  52                     "win.exe.imageDir",
-  53                     File.class,
-  54                     params -&gt; {
-  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) -&gt; 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&lt;BundlerParamInfo&lt;?&gt;&gt; getBundleParameters() {
-  87         return new WinMsiBundler().getBundleParameters();
-  88     }
-  89 
-  90     @Override
-  91     public File execute(Map&lt;String, ? super Object&gt; 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&lt;String, ? super Object&gt; params)
- 103             throws UnsupportedPlatformException, ConfigException {
- 104         return new WinMsiBundler().validate(params);
- 105     }
- 106 
- 107     public File bundle(Map&lt;String, ? super Object&gt; 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;
     }