8219679: Help text changes in jpackage JDK-8200758-branch
authorherrick
Mon, 11 Mar 2019 15:15:16 -0400
branchJDK-8200758-branch
changeset 57257 69ad9df313e4
parent 57256 d7c27451f759
child 57258 ea75e8d7e34f
8219679: Help text changes in jpackage Reviewed-by: almatvee
src/jdk.jpackage/share/classes/jdk/jpackage/internal/CLIHelp.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
--- a/src/jdk.jpackage/share/classes/jdk/jpackage/internal/CLIHelp.java	Mon Mar 11 14:44:00 2019 -0400
+++ b/src/jdk.jpackage/share/classes/jdk/jpackage/internal/CLIHelp.java	Mon Mar 11 15:15:16 2019 -0400
@@ -43,37 +43,42 @@
     // generates --help for jpackage's CLI
     public static void showHelp(boolean noArgs) {
 
-        Platform platform = Platform.getPlatform();
         if (noArgs) {
-            Log.info(MessageFormat.format(
-                     I18N.getString("MSG_Help_no_args"), File.pathSeparator));
+            Log.info(I18N.getString("MSG_Help_no_args"));
         } else {
-            Log.info(MessageFormat.format(
-                    I18N.getString("MSG_Help_common"), File.pathSeparator));
-
+            Platform platform = (Log.isDebug()) ? 
+                    Platform.UNKNOWN : Platform.getPlatform();
+            String types;
+            String pLaunchOptions;
+            String pInstallOptions;
             switch (platform) {
                 case MAC:
-                    Log.info(I18N.getString("MSG_Help_mac"));
-                    if (Log.isDebug()) {
-                        Log.info(I18N.getString("MSG_Help_win"));
-                        Log.info(I18N.getString("MSG_Help_linux"));
-                    }
+                    types = "{\"pkg\", \"dmg\"}";
+		    pLaunchOptions = "";
+                    pInstallOptions = I18N.getString("MSG_Help_mac_install");
                     break;
                 case LINUX:
-                    Log.info(I18N.getString("MSG_Help_linux"));
-                    if (Log.isDebug()) {
-                        Log.info(I18N.getString("MSG_Help_win"));
-                        Log.info(I18N.getString("MSG_Help_mac"));
-                    }
+                    types = "{\"rpm\", \"deb\"}";
+		    pLaunchOptions = "";
+                    pInstallOptions = I18N.getString("MSG_Help_linux_install");
                     break;
                 case WINDOWS:
-                    Log.info(I18N.getString("MSG_Help_win"));
-                    if (Log.isDebug()) {
-                        Log.info(I18N.getString("MSG_Help_mac"));
-                        Log.info(I18N.getString("MSG_Help_linux"));
-                    }
+                    types = "{\"exe\", \"msi\"}";
+		    pLaunchOptions = I18N.getString("MSG_Help_win_launcher");
+                    pInstallOptions = I18N.getString("MSG_Help_win_install");
+                    break;
+                default:
+                    types = 
+                      "{\"exe\", \"msi\", \"rpm\", \"deb\", \"pkg\", \"dmg\"}";
+		    pLaunchOptions = I18N.getString("MSG_Help_win_launcher");
+                    pInstallOptions = I18N.getString("MSG_Help_win_install")
+                            + I18N.getString("MSG_Help_mac_install")
+                            + I18N.getString("MSG_Help_linux_install");
                     break;
             }
+            Log.info(MessageFormat.format(I18N.getString("MSG_Help"),
+                    File.pathSeparator, types, pLaunchOptions,
+                    pInstallOptions));
         }
     }
 }
--- a/src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources.properties	Mon Mar 11 14:44:00 2019 -0400
+++ b/src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources.properties	Mon Mar 11 15:15:16 2019 -0400
@@ -24,7 +24,7 @@
 #
 #
 
-MSG_Help_common=Usage: jpackage <mode> <options>\n\
+MSG_Help=Usage: jpackage <mode> <options>\n\
 \n\
 where mode is one of: \n\
 \  create-image\n\
@@ -35,202 +35,223 @@
 Sample usages:\n\
 --------------\n\
 \    Generate a modular application image:\n\
-\        jpackage create-image --output outputdir --name AppName \\\n\
-\            --main-class package.ClassName --module moduleName -p modulePath\n\
-\        jpackage create-image --o outputdir -n AppName \\\n\
-\            -c package.ClassName -m moduleName -p modulePath\n\
+\        jpackage create-image -o outputdir -n name \\\n\
+\            -m moduleName/className -p modulePath\n\
+\        To provide your own options to jlink, run jlink separately:\n\
+\            jlink --output app.runtime -m moduleName -p modulePath \\\n\
+\                --no-header-files [<additional jlink options>...]\n\
+\            jpackage -o outputdir -n name -m moduleName/className \\\n\
+\                --runtime-image app-runtime\n\
 \    Generate a non-modular application image:\n\
-\        jpackage create-image --input inputdir --output outputdir \\\n\
-\            --name AppName --main-class package.ClassName --main-jar MyJar.jar\n\
-\        jpackage create-image -i inputdir -o outputdir -n AppName \\\n\
-\            -c package.ClassName -j MyJar.jar\n\
+\        jpackage create-image -o outputdir -i inputdir -n name \\\n\
+\            --main-class className --main-jar MyJar.jar\n\
 \    Generate an application installer:\n\
-\        jpackage create-installer -i inputdir -o outputdir \\\n\
-\            -n <installer-name> -c package.ClassName -j MyJar.jar\n\
-\        jpackage create-installer -o outputdir -n <installer-name>\\\n\
-\            --app-image <app image dir>\n\
+\        jpackage create-installer -o outputdir -n name \\\n\
+\            -m moduleName/className -p modulePath\n\
+\        jpackage create-installer -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 --runtime-installer\\\n\
-\            --name <installer-name> --output outputdir\n\
-\        jpackage create-installer --runtime-installer \\\n\
-\            -n <installer-name> -o outputdir --runtime-image <runtime-path>\n\
+\        jpackage create-installer -o outputdir -n name \\\n\
+\            --runtime-image <runtime-image>\n\
 \n\
-The following options are valid for all platforms:\n\
+Generic Options:\n\
 \  @<filename> \n\
+\  --app-version <version>\n\
+\          Version of the application and/or installer\n\
 \          Read options and/or mode from a file \n\
+\  --copyright <copyright string>\n\
+\          Copyright for the application\n\
+\  --description <description string>\n\
+\          Description of the application\n\
 \  --help -h \n\
 \          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\
-\  --version -v\n\
-\          Print the product version to the output stream and exit\n\
+\  --name -n <name>\n\
+\          Name of the application and/or installer\n\
 \  --output -o <output path>\n\
 \          Path where generated output file is placed\n\
 \          (absolute path or relative to the current directory)\n\
-\  --input -i <input path>\n\
-\          Path of the input directory that contains the files to package\n\
+\  --temp-root <file path>\n\
+\          Path of a new or empty directory used to create temporary files\n\
 \          (absolute path or relative to the current directory)\n\
+\          If specified, the temp-root will not be removed upon the task\n\
+\          completion and must be removed manually\n\
+\          If not specified, a temporary directory will be created and\n\
+\          removed upon the task completion.\n\
+\  --vendor <vendor string>\n\
+\          Vendor of the application\n\
+\  --verbose\n\
+\          Enables verbose output\n\
+\  --version -v\n\
+\          Print the product version to the output stream and exit\n\
+\n\
+\Options for creating the runtime image:\n\
+\  --add-modules <module name>[,<module name>...]\n\
+\          A comma (",") separated list of modules to add.\n\
+\          This module list, along with the main module (if specified)\n\
+\          will be passed to jlink as the --add-module argument.\n\
+\          if not specified, either just the main module (if --module is\n\
+\          specified), or the default set of modules (if --main-jar is \n\
+\          specified) are used.\n\
+\  --module-path -p <module path>...\n\
+\          A {0} separated list of paths\n\
+\          Each path is either a directory of modules or the path to a\n\
+\          modular jar.\n\
+\          (each path is absolute or relative to the current directory)\n\
+\  --runtime-image <file path>\n\
+\          Path of the predefined runtime image that will be copied into\n\
+\          the application image\n\
+\          (absolute path or relative to the current directory)\n\
+\          If --runtime-image is not specified, jpackage will run jlink to\n\
+\          create the runtime image using options:\n\
+\          --strip-debug, --no-header-files, --no-man-pages, and\n\
+\          --strip-native-commands.  --bind-services will also be added if\n\
+\          --add-modules is not specified.\n\
+\n\
+\Options for creating the application image:\n\
 \  --files -f <input file>[{0}<input file>...]\n\
 \          A {0} separated list of files in the input dir to be packaged\n\
 \          If omitted, all files in the input directory will be packaged.\n\
-\  --name -n <application name>\n\
-\          Name of the application\n\
-\  --main-jar -j <main jar file>\n\
-\          The main JAR of the application; containing the main class\n\
-\          (specified as a path relative to the input path)\n\
-\  --main-class -c <class name>\n\
-\          Qualified name of the application main class to execute\n\
-\  --installer-type <type> \n\
-\          The type of the installer created in create-image mode\n\
-\          Valid values for "type" are "msi", "exe", "rpm", "deb", "dmg",\n\
-\                           "pkg", and "pkg-app-store".\n\
-\          If this option is not specified (in create-installer mode),\n\
-\          all supported types of installable packages for the current\n\
-\          platform will be generated.\n\
-\  --runtime-installer \n\
-\          Generates a platform-specific installer for a Java runtime.\n\
-\  --app-version <version string>\n\
-\          Version of the application\n\
-\  --arguments -a <main class arguments>\n\
-\          Command line arguments to pass to the main class if no command\n\
-\          line arguments are given to the launcher\n\
 \  --icon <icon file path>\n\
 \          Path of the icon of the application bundle\n\
 \          (absolute path or relative to the current directory)\n\
-\  --identifier <id string>\n\
-\          Machine readable identifier of the application\n\
-\          The format must be a DNS name in reverse order,\n\
-\          such as com.example.myapplication.\n\
-\  --verbose\n\
-\          Enables verbose output\n\
-\  --strip-native-commands\n\
-\          Removes native executables from the custom run-time images\n\
+\  --input -i <input path>\n\
+\          Path of the input directory that contains the files to be packaged\n\
+\          (absolute path or relative to the current directory)\n\
+\n\
+\Options for creating the application launcher(s):\n\
+\  --add-launcher <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\
+\          The keys "name" (required), "module", "add-modules",\n\
+\          "main-jar", "main-class", "arguments", "jvm-args",\n\
+\          "app-version", "icon", and "win-console" can be used.\n\
+\          These options are added to, or used to overwrite, the original\n\
+\          command line options when building an additional launcher.\n\
+\  --arguments <main class arguments>\n\
+\          Command line arguments to pass to the main class if no command\n\
+\          line arguments are given to the launcher\n\
 \  --jvm-args <java vm arguments>\n\
 \          Java arguments to pass to the virtual machine\n\
+\  --main-class <class name>\n\
+\          Qualified name of the application main class to execute\n\
+\          This option can only be used if --main-jar is specified.\n\
+\  --main-jar <main jar file>\n\
+\          The main JAR of the application; containing the main class\n\
+\          (specified as a path relative to the input path)\n\
+\          Either --module or --main-jar option can be specified but not\n\
+\          both.\n\
+\  --module -m <module name>[/<main class>]\n\
+\          The main module (and optionally main class) of the application\n\
+\          This module must be located on the module path.\n\
+\          When this option is specified, the main module will be linked\n\
+\          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\
+\  --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 the create-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\
 \          The keys "extension", "mime-type", "icon", and "description"\n\
 \          can be used to describe the association.\n\
-\  --secondary-launcher <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\
-\          The keys "name" (required), "version", "module", "class",\n\
-\          "icon", "arguments", "jvm-args", "win-menu",\n\
-\          "win-shortcut", and "win-console" can be used.\n\
-\          These options are added to, or used to overwrite, the original\n\
-\          command line options when building the secondary launcher.\n\
-\  --build-root <file path>\n\
-\          Path of a new or empty directory used to create temporary files\n\
-\          (absolute path or relative to the current directory)\n\
-\          If not specified, a temporary directory will be created and\n\
-\          removed upon the task completion.\n\
-\  --runtime-image <file path>\n\
-\          Path of the predefined runtime image that is used to build\n\
-\          an application image and installable package\n\
-\          (absolute path or relative to the current directory)\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\
+\  --identifier <id string>\n\
+\          Machine readable identifier of the application\n\
+\          The format must be a DNS name in reverse order,\n\
+\          such as com.example.myapplication.\n\
 \  --install-dir <file path>\n\
 \          Absolute path of the installation directory of the application\n\
-\          This option is ignored on Windows, use --win-dir-chooser to\n\
-\          provide user the ability to choose the installation directory.\n\
+\  --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\
-\  --copyright <copyright string>\n\
-\          Copyright for the application\n\
-\  --description <description string>\n\
-\          Description of the application\n\
-\  --category <category string>\n\
-\          Category or group of the application\n\
-\  --vendor <vendor string>\n\
-\          Vendor of the application\n\
-\  --overwrite\n\
-\          Allow the recursive deletion of an existing application \n\
-\          output directory when creating an application image\n\
 \  --resource-dir <path>\n\
 \          Path to override jpackage resources\n\
 \          Icons, template files, and other resources of jpackage can be\n\
 \          over-ridden by adding replacement resources to this directory.\n\
 \          (absolute path or relative to the current directory)\n\
+\  --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\
 \n\
-Modular options:\n\
-\  --module -m <module name>\n\
-\          Main module of the application\n\
-\          This module must contain the main-class,\n\
-\          and be located on the module path.\n\
-\  --module-path -p <module path>\n\
-\          Path jlink looks in for modules when packaging the Java Runtime\n\
-\          (absolute path or relative to the current directory)\n\
-\  --add-modules <module name>[,<module name>...]\n\
-\          A comma (",") separated list of modules to add.\n\
+\Platform dependent options for creating the application installer(s):\n\
+{3}
+
+MSG_Help_win_launcher=\
+\n\
+\Platform dependent option for creating the application launcher:\n\
+\  --win-console\n\
+\          Creates a console launcher for the application, should be\n\
+\          specified for application which requires console interactions\n\
 
-MSG_Help_mac=\nThe following options are valid for Mac OS X platforms:\n\
-\  --mac-sign\n\
-\          Request that the bundle be signed\n\
+MSG_Help_win_install=\
+\  --win-dir-chooser\n\
+\          Adds a dialog to enable the user to choose a directory in which\n\
+\          the product is installed\n\
+\  --win-menu\n\
+\          Adds the application to the system menu\n\
+\  --win-menu-group <menu group name>\n\
+\          Start Menu group this application is placed in\n\
+\  --win-per-user-install\n\
+\          Request to perform an install on a per-user basis\n\
+\  --win-registry-name <registry name>\n\
+\          Name of the application for registry references.\n\
+\          The default is the Application Name with only\n\
+\          alphanumerics, dots, and dashes (no whitespace)\n\
+\  --win-shortcut\n\
+\          Creates a desktop shortcut for the application\n\
+\  --win-upgrade-uuid <id string>\n\
+\          UUID associated with upgrades for this package\n\
+
+MSG_Help_mac_install=\
+\  --mac-bundle-identifier <ID string>\n\
+\          An identifier that uniquely identifies the application for MacOSX\n\
+\          (and on the Mac App Store)\n\
+\          May only use alphanumeric (A-Z,a-z,0-9), hyphen (-),\n\
+\          and period (.) characters.\n\
 \  --mac-bundle-name <name string>\n\
 \          Name of the application as it appears in the Menu Bar\n\
 \          This can be different from the application name.\n\
 \          This name must be less than 16 characters long and be suitable for\n\
 \          displaying in the menu bar and the application Info window.\n\
 \          Defaults to the application name.\n\
-\  --mac-bundle-identifier <ID string>\n\
-\          An identifier that uniquely identifies the application for MacOSX\n\
-\          (and on the Mac App Store)\n\
-\          May only use alphanumeric (A-Z,a-z,0-9), hyphen (-),\n\
-\          and period (.) characters.\n\
-\  --mac-app-store-category <category string>\n\
-\          Mac App Store Categories\n\
-\          Note that the key is the string shown to\n\
-\          the user and the value is the ID of the category.\n\
-\  --mac-app-store-entitlements <file path>\n\
-\          Path of a custom mac app store entitlements file\n\
-\          (absolute path or relative to the current directory)\n\
 \  --mac-bundle-signing-prefix <prefix string>\n\
 \          When signing the application bundle, this value is prefixed to all\n\
 \          components that need to be signed that don't have\n\
 \          an existing bundle identifier.\n\
-\  --mac-signing-key-user-name <user name>\n\
-\          User name portion of the typical\n\
-\          "Mac Developer ID Application: <user name>" signing key\n\
+\  --mac-sign\n\
+\          Request that the bundle be signed\n\
 \  --mac-signing-keychain <file path>\n\
 \          Path of the keychain to use\n\
 \          (absolute path or relative to the current directory)\n\
 \          If not specified, the standard keychains are used.\n\
+\  --mac-signing-key-user-name <user name>\n\
+\          User name portion of the typical\n\
+\          "Mac Developer ID Application: <user name>" signing key\n\
 
-MSG_Help_linux=\nThe following options are valid for Linux platforms:\n\
+MSG_Help_linux_install=\
 \  --linux-bundle-name <bundle name>\n\
 \          Name for Linux bundle, defaults to the application name\n\
+\  --linux-deb-maintainer <email address>\n\
+\          Maintainer for .deb bundle\n\
+\  --linux-menu-group <menu-group-name>\n\
+\          Menu group this application is placed in\n\
 \  --linux-package-deps\n\
 \          Required packages or capabilities for the application\n\
 \  --linux-rpm-license-type <type string>\n\
 \          Type of the license ("License: <value>" of the RPM .spec)\n\
-\  --linux-deb-maintainer <email address>\n\
-\          Maintainer for .deb bundle\n\
-
-MSG_Help_win=\nThe following options are valid for Windows platforms:\n\
-\  --win-menu\n\
-\          Adds the application to the system menu\n\
-\  --win-menu-group <menu group name>\n\
-\          Start Menu group this application is placed in\n\
-\  --win-per-user-install\n\
-\          Request to perform an install on a per-user basis\n\
-\  --win-dir-chooser\n\
-\          Adds a dialog to enable the user to choose a directory in which\n\
-\          the product is installed\n\
-\  --win-registry-name <registry name>\n\
-\          Name of the application for registry references.\n\
-\          The default is the Application Name with only\n\
-\          alphanumerics, dots, and dashes (no whitespace)\n\
-\  --win-upgrade-uuid <id string>\n\
-\          UUID associated with upgrades for this package\n\
-\  --win-shortcut\n\
-\          Creates a desktop shortcut for the application\n\
-\  --win-console\n\
-\          Creates a console launcher for the application, should be\n\
-\          specified for application which requires console interactions\n\
 
 MSG_Help_no_args=Usage: jpackage <mode> <options>\n\
 \Use jpackage --help (or -h) for a list of possible options\
--- a/src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_ja.properties	Mon Mar 11 14:44:00 2019 -0400
+++ b/src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_ja.properties	Mon Mar 11 15:15:16 2019 -0400
@@ -24,7 +24,7 @@
 #
 #
 
-MSG_Help_common=Usage: jpackage <mode> <options>\n\
+MSG_Help=Usage: jpackage <mode> <options>\n\
 \n\
 where mode is one of: \n\
 \  create-image\n\
@@ -35,202 +35,223 @@
 Sample usages:\n\
 --------------\n\
 \    Generate a modular application image:\n\
-\        jpackage create-image --output outputdir --name AppName \\\n\
-\            --main-class package.ClassName --module moduleName -p modulePath\n\
-\        jpackage create-image --o outputdir -n AppName \\\n\
-\            -c package.ClassName -m moduleName -p modulePath\n\
+\        jpackage create-image -o outputdir -n name \\\n\
+\            -m moduleName/className -p modulePath\n\
+\        To provide your own options to jlink, run jlink separately:\n\
+\            jlink --output app.runtime -m moduleName -p modulePath \\\n\
+\                --no-header-files [<additional jlink options>...]\n\
+\            jpackage -o outputdir -n name -m moduleName/className \\\n\
+\                --runtime-image app-runtime\n\
 \    Generate a non-modular application image:\n\
-\        jpackage create-image --input inputdir --output outputdir \\\n\
-\            --name AppName --main-class package.ClassName --main-jar MyJar.jar\n\
-\        jpackage create-image -i inputdir -o outputdir -n AppName \\\n\
-\            -c package.ClassName -j MyJar.jar\n\
+\        jpackage create-image -o outputdir -i inputdir -n name \\\n\
+\            --main-class className --main-jar MyJar.jar\n\
 \    Generate an application installer:\n\
-\        jpackage create-installer -i inputdir -o outputdir \\\n\
-\            -n <installer-name> -c package.ClassName -j MyJar.jar\n\
-\        jpackage create-installer -o outputdir -n <installer-name>\\\n\
-\            --app-image <app image dir>\n\
+\        jpackage create-installer -o outputdir -n name \\\n\
+\            -m moduleName/className -p modulePath\n\
+\        jpackage create-installer -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 --runtime-installer\\\n\
-\            --name <installer-name> --output outputdir\n\
-\        jpackage create-installer --runtime-installer \\\n\
-\            -n <installer-name> -o outputdir --runtime-image <runtime-path>\n\
+\        jpackage create-installer -o outputdir -n name \\\n\
+\            --runtime-image <runtime-image>\n\
 \n\
-The following options are valid for all platforms:\n\
+Generic Options:\n\
 \  @<filename> \n\
+\  --app-version <version>\n\
+\          Version of the application and/or installer\n\
 \          Read options and/or mode from a file \n\
+\  --copyright <copyright string>\n\
+\          Copyright for the application\n\
+\  --description <description string>\n\
+\          Description of the application\n\
 \  --help -h \n\
 \          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\
-\  --version -v\n\
-\          Print the product version to the output stream and exit\n\
+\  --name -n <name>\n\
+\          Name of the application and/or installer\n\
 \  --output -o <output path>\n\
 \          Path where generated output file is placed\n\
 \          (absolute path or relative to the current directory)\n\
-\  --input -i <input path>\n\
-\          Path of the input directory that contains the files to package\n\
+\  --temp-root <file path>\n\
+\          Path of a new or empty directory used to create temporary files\n\
 \          (absolute path or relative to the current directory)\n\
+\          If specified, the temp-root will not be removed upon the task\n\
+\          completion and must be removed manually\n\
+\          If not specified, a temporary directory will be created and\n\
+\          removed upon the task completion.\n\
+\  --vendor <vendor string>\n\
+\          Vendor of the application\n\
+\  --verbose\n\
+\          Enables verbose output\n\
+\  --version -v\n\
+\          Print the product version to the output stream and exit\n\
+\n\
+\Options for creating the runtime image:\n\
+\  --add-modules <module name>[,<module name>...]\n\
+\          A comma (",") separated list of modules to add.\n\
+\          This module list, along with the main module (if specified)\n\
+\          will be passed to jlink as the --add-module argument.\n\
+\          if not specified, either just the main module (if --module is\n\
+\          specified), or the default set of modules (if --main-jar is \n\
+\          specified) are used.\n\
+\  --module-path -p <module path>...\n\
+\          A {0} separated list of paths\n\
+\          Each path is either a directory of modules or the path to a\n\
+\          modular jar.\n\
+\          (each path is absolute or relative to the current directory)\n\
+\  --runtime-image <file path>\n\
+\          Path of the predefined runtime image that will be copied into\n\
+\          the application image\n\
+\          (absolute path or relative to the current directory)\n\
+\          If --runtime-image is not specified, jpackage will run jlink to\n\
+\          create the runtime image using options:\n\
+\          --strip-debug, --no-header-files, --no-man-pages, and\n\
+\          --strip-native-commands.  --bind-services will also be added if\n\
+\          --add-modules is not specified.\n\
+\n\
+\Options for creating the application image:\n\
 \  --files -f <input file>[{0}<input file>...]\n\
 \          A {0} separated list of files in the input dir to be packaged\n\
 \          If omitted, all files in the input directory will be packaged.\n\
-\  --name -n <application name>\n\
-\          Name of the application\n\
-\  --main-jar -j <main jar file>\n\
-\          The main JAR of the application; containing the main class\n\
-\          (specified as a path relative to the input path)\n\
-\  --main-class -c <class name>\n\
-\          Qualified name of the application main class to execute\n\
-\  --installer-type <type> \n\
-\          The type of the installer created in create-image mode\n\
-\          Valid values for "type" are "msi", "exe", "rpm", "deb", "dmg",\n\
-\                           "pkg", and "pkg-app-store".\n\
-\          If this option is not specified (in create-installer mode),\n\
-\          all supported types of installable packages for the current\n\
-\          platform will be generated.\n\
-\  --runtime-installer \n\
-\          Generates a platform-specific installer for a Java runtime.\n\
-\  --app-version <version string>\n\
-\          Version of the application\n\
-\  --arguments -a <main class arguments>\n\
-\          Command line arguments to pass to the main class if no command\n\
-\          line arguments are given to the launcher\n\
 \  --icon <icon file path>\n\
 \          Path of the icon of the application bundle\n\
 \          (absolute path or relative to the current directory)\n\
-\  --identifier <id string>\n\
-\          Machine readable identifier of the application\n\
-\          The format must be a DNS name in reverse order,\n\
-\          such as com.example.myapplication.\n\
-\  --verbose\n\
-\          Enables verbose output\n\
-\  --strip-native-commands\n\
-\          Removes native executables from the custom run-time images\n\
+\  --input -i <input path>\n\
+\          Path of the input directory that contains the files to be packaged\n\
+\          (absolute path or relative to the current directory)\n\
+\n\
+\Options for creating the application launcher(s):\n\
+\  --add-launcher <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\
+\          The keys "name" (required), "module", "add-modules",\n\
+\          "main-jar", "main-class", "arguments", "jvm-args",\n\
+\          "app-version", "icon", and "win-console" can be used.\n\
+\          These options are added to, or used to overwrite, the original\n\
+\          command line options when building an additional launcher.\n\
+\  --arguments <main class arguments>\n\
+\          Command line arguments to pass to the main class if no command\n\
+\          line arguments are given to the launcher\n\
 \  --jvm-args <java vm arguments>\n\
 \          Java arguments to pass to the virtual machine\n\
+\  --main-class <class name>\n\
+\          Qualified name of the application main class to execute\n\
+\          This option can only be used if --main-jar is specified.\n\
+\  --main-jar <main jar file>\n\
+\          The main JAR of the application; containing the main class\n\
+\          (specified as a path relative to the input path)\n\
+\          Either --module or --main-jar option can be specified but not\n\
+\          both.\n\
+\  --module -m <module name>[/<main class>]\n\
+\          The main module (and optionally main class) of the application\n\
+\          This module must be located on the module path.\n\
+\          When this option is specified, the main module will be linked\n\
+\          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\
+\  --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 the create-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\
 \          The keys "extension", "mime-type", "icon", and "description"\n\
 \          can be used to describe the association.\n\
-\  --secondary-launcher <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\
-\          The keys "name" (required), "version", "module", "class",\n\
-\          "icon", "arguments", "jvm-args", "win-menu",\n\
-\          "win-shortcut", and "win-console" can be used.\n\
-\          These options are added to, or used to overwrite, the original\n\
-\          command line options when building the secondary launcher.\n\
-\  --build-root <file path>\n\
-\          Path of a new or empty directory used to create temporary files\n\
-\          (absolute path or relative to the current directory)\n\
-\          If not specified, a temporary directory will be created and\n\
-\          removed upon the task completion.\n\
-\  --runtime-image <file path>\n\
-\          Path of the predefined runtime image that is used to build\n\
-\          an application image and installable package\n\
-\          (absolute path or relative to the current directory)\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\
+\  --identifier <id string>\n\
+\          Machine readable identifier of the application\n\
+\          The format must be a DNS name in reverse order,\n\
+\          such as com.example.myapplication.\n\
 \  --install-dir <file path>\n\
 \          Absolute path of the installation directory of the application\n\
-\          This option is ignored on Windows, use --win-dir-chooser to\n\
-\          provide user the ability to choose the installation directory.\n\
+\  --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\
-\  --copyright <copyright string>\n\
-\          Copyright for the application\n\
-\  --description <description string>\n\
-\          Description of the application\n\
-\  --category <category string>\n\
-\          Category or group of the application\n\
-\  --vendor <vendor string>\n\
-\          Vendor of the application\n\
-\  --overwrite\n\
-\          Allow the recursive deletion of an existing application \n\
-\          output directory when creating an application image\n\
 \  --resource-dir <path>\n\
 \          Path to override jpackage resources\n\
 \          Icons, template files, and other resources of jpackage can be\n\
 \          over-ridden by adding replacement resources to this directory.\n\
 \          (absolute path or relative to the current directory)\n\
+\  --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\
 \n\
-Modular options:\n\
-\  --module -m <module name>\n\
-\          Main module of the application\n\
-\          This module must contain the main-class,\n\
-\          and be located on the module path.\n\
-\  --module-path -p <module path>\n\
-\          Path jlink looks in for modules when packaging the Java Runtime\n\
-\          (absolute path or relative to the current directory)\n\
-\  --add-modules <module name>[,<module name>...]\n\
-\          A comma (",") separated list of modules to add.\n\
+\Platform dependent options for creating the application installer(s):\n\
+{3}
+
+MSG_Help_win_launcher=\
+\n\
+\Platform dependent option for creating the application launcher:\n\
+\  --win-console\n\
+\          Creates a console launcher for the application, should be\n\
+\          specified for application which requires console interactions\n\
 
-MSG_Help_mac=\nThe following options are valid for Mac OS X platforms:\n\
-\  --mac-sign\n\
-\          Request that the bundle be signed\n\
+MSG_Help_win_install=\
+\  --win-dir-chooser\n\
+\          Adds a dialog to enable the user to choose a directory in which\n\
+\          the product is installed\n\
+\  --win-menu\n\
+\          Adds the application to the system menu\n\
+\  --win-menu-group <menu group name>\n\
+\          Start Menu group this application is placed in\n\
+\  --win-per-user-install\n\
+\          Request to perform an install on a per-user basis\n\
+\  --win-registry-name <registry name>\n\
+\          Name of the application for registry references.\n\
+\          The default is the Application Name with only\n\
+\          alphanumerics, dots, and dashes (no whitespace)\n\
+\  --win-shortcut\n\
+\          Creates a desktop shortcut for the application\n\
+\  --win-upgrade-uuid <id string>\n\
+\          UUID associated with upgrades for this package\n\
+
+MSG_Help_mac_install=\
+\  --mac-bundle-identifier <ID string>\n\
+\          An identifier that uniquely identifies the application for MacOSX\n\
+\          (and on the Mac App Store)\n\
+\          May only use alphanumeric (A-Z,a-z,0-9), hyphen (-),\n\
+\          and period (.) characters.\n\
 \  --mac-bundle-name <name string>\n\
 \          Name of the application as it appears in the Menu Bar\n\
 \          This can be different from the application name.\n\
 \          This name must be less than 16 characters long and be suitable for\n\
 \          displaying in the menu bar and the application Info window.\n\
 \          Defaults to the application name.\n\
-\  --mac-bundle-identifier <ID string>\n\
-\          An identifier that uniquely identifies the application for MacOSX\n\
-\          (and on the Mac App Store)\n\
-\          May only use alphanumeric (A-Z,a-z,0-9), hyphen (-),\n\
-\          and period (.) characters.\n\
-\  --mac-app-store-category <category string>\n\
-\          Mac App Store Categories\n\
-\          Note that the key is the string shown to\n\
-\          the user and the value is the ID of the category.\n\
-\  --mac-app-store-entitlements <file path>\n\
-\          Path of a custom mac app store entitlements file\n\
-\          (absolute path or relative to the current directory)\n\
 \  --mac-bundle-signing-prefix <prefix string>\n\
 \          When signing the application bundle, this value is prefixed to all\n\
 \          components that need to be signed that don't have\n\
 \          an existing bundle identifier.\n\
-\  --mac-signing-key-user-name <user name>\n\
-\          User name portion of the typical\n\
-\          "Mac Developer ID Application: <user name>" signing key\n\
+\  --mac-sign\n\
+\          Request that the bundle be signed\n\
 \  --mac-signing-keychain <file path>\n\
 \          Path of the keychain to use\n\
 \          (absolute path or relative to the current directory)\n\
 \          If not specified, the standard keychains are used.\n\
+\  --mac-signing-key-user-name <user name>\n\
+\          User name portion of the typical\n\
+\          "Mac Developer ID Application: <user name>" signing key\n\
 
-MSG_Help_linux=\nThe following options are valid for Linux platforms:\n\
+MSG_Help_linux_install=\
 \  --linux-bundle-name <bundle name>\n\
 \          Name for Linux bundle, defaults to the application name\n\
+\  --linux-deb-maintainer <email address>\n\
+\          Maintainer for .deb bundle\n\
+\  --linux-menu-group <menu-group-name>\n\
+\          Menu group this application is placed in\n\
 \  --linux-package-deps\n\
 \          Required packages or capabilities for the application\n\
 \  --linux-rpm-license-type <type string>\n\
 \          Type of the license ("License: <value>" of the RPM .spec)\n\
-\  --linux-deb-maintainer <email address>\n\
-\          Maintainer for .deb bundle\n\
-
-MSG_Help_win=\nThe following options are valid for Windows platforms:\n\
-\  --win-menu\n\
-\          Adds the application to the system menu\n\
-\  --win-menu-group <menu group name>\n\
-\          Start Menu group this application is placed in\n\
-\  --win-per-user-install\n\
-\          Request to perform an install on a per-user basis\n\
-\  --win-dir-chooser\n\
-\          Adds a dialog to enable the user to choose a directory in which\n\
-\          the product is installed\n\
-\  --win-registry-name <registry name>\n\
-\          Name of the application for registry references.\n\
-\          The default is the Application Name with only\n\
-\          alphanumerics, dots, and dashes (no whitespace)\n\
-\  --win-upgrade-uuid <id string>\n\
-\          UUID associated with upgrades for this package\n\
-\  --win-shortcut\n\
-\          Creates a desktop shortcut for the application\n\
-\  --win-console\n\
-\          Creates a console launcher for the application, should be\n\
-\          specified for application which requires console interactions\n\
 
 MSG_Help_no_args=Usage: jpackage <mode> <options>\n\
 \Use jpackage --help (or -h) for a list of possible options\
--- a/src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_zh_CN.properties	Mon Mar 11 14:44:00 2019 -0400
+++ b/src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_zh_CN.properties	Mon Mar 11 15:15:16 2019 -0400
@@ -24,7 +24,7 @@
 #
 #
 
-MSG_Help_common=Usage: jpackage <mode> <options>\n\
+MSG_Help=Usage: jpackage <mode> <options>\n\
 \n\
 where mode is one of: \n\
 \  create-image\n\
@@ -35,202 +35,223 @@
 Sample usages:\n\
 --------------\n\
 \    Generate a modular application image:\n\
-\        jpackage create-image --output outputdir --name AppName \\\n\
-\            --main-class package.ClassName --module moduleName -p modulePath\n\
-\        jpackage create-image --o outputdir -n AppName \\\n\
-\            -c package.ClassName -m moduleName -p modulePath\n\
+\        jpackage create-image -o outputdir -n name \\\n\
+\            -m moduleName/className -p modulePath\n\
+\        To provide your own options to jlink, run jlink separately:\n\
+\            jlink --output app.runtime -m moduleName -p modulePath \\\n\
+\                --no-header-files [<additional jlink options>...]\n\
+\            jpackage -o outputdir -n name -m moduleName/className \\\n\
+\                --runtime-image app-runtime\n\
 \    Generate a non-modular application image:\n\
-\        jpackage create-image --input inputdir --output outputdir \\\n\
-\            --name AppName --main-class package.ClassName --main-jar MyJar.jar\n\
-\        jpackage create-image -i inputdir -o outputdir -n AppName \\\n\
-\            -c package.ClassName -j MyJar.jar\n\
+\        jpackage create-image -o outputdir -i inputdir -n name \\\n\
+\            --main-class className --main-jar MyJar.jar\n\
 \    Generate an application installer:\n\
-\        jpackage create-installer -i inputdir -o outputdir \\\n\
-\            -n <installer-name> -c package.ClassName -j MyJar.jar\n\
-\        jpackage create-installer -o outputdir -n <installer-name>\\\n\
-\            --app-image <app image dir>\n\
+\        jpackage create-installer -o outputdir -n name \\\n\
+\            -m moduleName/className -p modulePath\n\
+\        jpackage create-installer -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 --runtime-installer\\\n\
-\            --name <installer-name> --output outputdir\n\
-\        jpackage create-installer --runtime-installer \\\n\
-\            -n <installer-name> -o outputdir --runtime-image <runtime-path>\n\
+\        jpackage create-installer -o outputdir -n name \\\n\
+\            --runtime-image <runtime-image>\n\
 \n\
-The following options are valid for all platforms:\n\
+Generic Options:\n\
 \  @<filename> \n\
+\  --app-version <version>\n\
+\          Version of the application and/or installer\n\
 \          Read options and/or mode from a file \n\
+\  --copyright <copyright string>\n\
+\          Copyright for the application\n\
+\  --description <description string>\n\
+\          Description of the application\n\
 \  --help -h \n\
 \          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\
-\  --version -v\n\
-\          Print the product version to the output stream and exit\n\
+\  --name -n <name>\n\
+\          Name of the application and/or installer\n\
 \  --output -o <output path>\n\
 \          Path where generated output file is placed\n\
 \          (absolute path or relative to the current directory)\n\
-\  --input -i <input path>\n\
-\          Path of the input directory that contains the files to package\n\
+\  --temp-root <file path>\n\
+\          Path of a new or empty directory used to create temporary files\n\
 \          (absolute path or relative to the current directory)\n\
+\          If specified, the temp-root will not be removed upon the task\n\
+\          completion and must be removed manually\n\
+\          If not specified, a temporary directory will be created and\n\
+\          removed upon the task completion.\n\
+\  --vendor <vendor string>\n\
+\          Vendor of the application\n\
+\  --verbose\n\
+\          Enables verbose output\n\
+\  --version -v\n\
+\          Print the product version to the output stream and exit\n\
+\n\
+\Options for creating the runtime image:\n\
+\  --add-modules <module name>[,<module name>...]\n\
+\          A comma (",") separated list of modules to add.\n\
+\          This module list, along with the main module (if specified)\n\
+\          will be passed to jlink as the --add-module argument.\n\
+\          if not specified, either just the main module (if --module is\n\
+\          specified), or the default set of modules (if --main-jar is \n\
+\          specified) are used.\n\
+\  --module-path -p <module path>...\n\
+\          A {0} separated list of paths\n\
+\          Each path is either a directory of modules or the path to a\n\
+\          modular jar.\n\
+\          (each path is absolute or relative to the current directory)\n\
+\  --runtime-image <file path>\n\
+\          Path of the predefined runtime image that will be copied into\n\
+\          the application image\n\
+\          (absolute path or relative to the current directory)\n\
+\          If --runtime-image is not specified, jpackage will run jlink to\n\
+\          create the runtime image using options:\n\
+\          --strip-debug, --no-header-files, --no-man-pages, and\n\
+\          --strip-native-commands.  --bind-services will also be added if\n\
+\          --add-modules is not specified.\n\
+\n\
+\Options for creating the application image:\n\
 \  --files -f <input file>[{0}<input file>...]\n\
 \          A {0} separated list of files in the input dir to be packaged\n\
 \          If omitted, all files in the input directory will be packaged.\n\
-\  --name -n <application name>\n\
-\          Name of the application\n\
-\  --main-jar -j <main jar file>\n\
-\          The main JAR of the application; containing the main class\n\
-\          (specified as a path relative to the input path)\n\
-\  --main-class -c <class name>\n\
-\          Qualified name of the application main class to execute\n\
-\  --installer-type <type> \n\
-\          The type of the installer created in create-image mode\n\
-\          Valid values for "type" are "msi", "exe", "rpm", "deb", "dmg",\n\
-\                           "pkg", and "pkg-app-store".\n\
-\          If this option is not specified (in create-installer mode),\n\
-\          all supported types of installable packages for the current\n\
-\          platform will be generated.\n\
-\  --runtime-installer \n\
-\          Generates a platform-specific installer for a Java runtime.\n\
-\  --app-version <version string>\n\
-\          Version of the application\n\
-\  --arguments -a <main class arguments>\n\
-\          Command line arguments to pass to the main class if no command\n\
-\          line arguments are given to the launcher\n\
 \  --icon <icon file path>\n\
 \          Path of the icon of the application bundle\n\
 \          (absolute path or relative to the current directory)\n\
-\  --identifier <id string>\n\
-\          Machine readable identifier of the application\n\
-\          The format must be a DNS name in reverse order,\n\
-\          such as com.example.myapplication.\n\
-\  --verbose\n\
-\          Enables verbose output\n\
-\  --strip-native-commands\n\
-\          Removes native executables from the custom run-time images\n\
+\  --input -i <input path>\n\
+\          Path of the input directory that contains the files to be packaged\n\
+\          (absolute path or relative to the current directory)\n\
+\n\
+\Options for creating the application launcher(s):\n\
+\  --add-launcher <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\
+\          The keys "name" (required), "module", "add-modules",\n\
+\          "main-jar", "main-class", "arguments", "jvm-args",\n\
+\          "app-version", "icon", and "win-console" can be used.\n\
+\          These options are added to, or used to overwrite, the original\n\
+\          command line options when building an additional launcher.\n\
+\  --arguments <main class arguments>\n\
+\          Command line arguments to pass to the main class if no command\n\
+\          line arguments are given to the launcher\n\
 \  --jvm-args <java vm arguments>\n\
 \          Java arguments to pass to the virtual machine\n\
+\  --main-class <class name>\n\
+\          Qualified name of the application main class to execute\n\
+\          This option can only be used if --main-jar is specified.\n\
+\  --main-jar <main jar file>\n\
+\          The main JAR of the application; containing the main class\n\
+\          (specified as a path relative to the input path)\n\
+\          Either --module or --main-jar option can be specified but not\n\
+\          both.\n\
+\  --module -m <module name>[/<main class>]\n\
+\          The main module (and optionally main class) of the application\n\
+\          This module must be located on the module path.\n\
+\          When this option is specified, the main module will be linked\n\
+\          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\
+\  --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 the create-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\
 \          The keys "extension", "mime-type", "icon", and "description"\n\
 \          can be used to describe the association.\n\
-\  --secondary-launcher <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\
-\          The keys "name" (required), "version", "module", "class",\n\
-\          "icon", "arguments", "jvm-args", "win-menu",\n\
-\          "win-shortcut", and "win-console" can be used.\n\
-\          These options are added to, or used to overwrite, the original\n\
-\          command line options when building the secondary launcher.\n\
-\  --build-root <file path>\n\
-\          Path of a new or empty directory used to create temporary files\n\
-\          (absolute path or relative to the current directory)\n\
-\          If not specified, a temporary directory will be created and\n\
-\          removed upon the task completion.\n\
-\  --runtime-image <file path>\n\
-\          Path of the predefined runtime image that is used to build\n\
-\          an application image and installable package\n\
-\          (absolute path or relative to the current directory)\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\
+\  --identifier <id string>\n\
+\          Machine readable identifier of the application\n\
+\          The format must be a DNS name in reverse order,\n\
+\          such as com.example.myapplication.\n\
 \  --install-dir <file path>\n\
 \          Absolute path of the installation directory of the application\n\
-\          This option is ignored on Windows, use --win-dir-chooser to\n\
-\          provide user the ability to choose the installation directory.\n\
+\  --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\
-\  --copyright <copyright string>\n\
-\          Copyright for the application\n\
-\  --description <description string>\n\
-\          Description of the application\n\
-\  --category <category string>\n\
-\          Category or group of the application\n\
-\  --vendor <vendor string>\n\
-\          Vendor of the application\n\
-\  --overwrite\n\
-\          Allow the recursive deletion of an existing application \n\
-\          output directory when creating an application image\n\
 \  --resource-dir <path>\n\
 \          Path to override jpackage resources\n\
 \          Icons, template files, and other resources of jpackage can be\n\
 \          over-ridden by adding replacement resources to this directory.\n\
 \          (absolute path or relative to the current directory)\n\
+\  --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\
 \n\
-Modular options:\n\
-\  --module -m <module name>\n\
-\          Main module of the application\n\
-\          This module must contain the main-class,\n\
-\          and be located on the module path.\n\
-\  --module-path -p <module path>\n\
-\          Path jlink looks in for modules when packaging the Java Runtime\n\
-\          (absolute path or relative to the current directory)\n\
-\  --add-modules <module name>[,<module name>...]\n\
-\          A comma (",") separated list of modules to add.\n\
+\Platform dependent options for creating the application installer(s):\n\
+{3}
+
+MSG_Help_win_launcher=\
+\n\
+\Platform dependent option for creating the application launcher:\n\
+\  --win-console\n\
+\          Creates a console launcher for the application, should be\n\
+\          specified for application which requires console interactions\n\
 
-MSG_Help_mac=\nThe following options are valid for Mac OS X platforms:\n\
-\  --mac-sign\n\
-\          Request that the bundle be signed\n\
+MSG_Help_win_install=\
+\  --win-dir-chooser\n\
+\          Adds a dialog to enable the user to choose a directory in which\n\
+\          the product is installed\n\
+\  --win-menu\n\
+\          Adds the application to the system menu\n\
+\  --win-menu-group <menu group name>\n\
+\          Start Menu group this application is placed in\n\
+\  --win-per-user-install\n\
+\          Request to perform an install on a per-user basis\n\
+\  --win-registry-name <registry name>\n\
+\          Name of the application for registry references.\n\
+\          The default is the Application Name with only\n\
+\          alphanumerics, dots, and dashes (no whitespace)\n\
+\  --win-shortcut\n\
+\          Creates a desktop shortcut for the application\n\
+\  --win-upgrade-uuid <id string>\n\
+\          UUID associated with upgrades for this package\n\
+
+MSG_Help_mac_install=\
+\  --mac-bundle-identifier <ID string>\n\
+\          An identifier that uniquely identifies the application for MacOSX\n\
+\          (and on the Mac App Store)\n\
+\          May only use alphanumeric (A-Z,a-z,0-9), hyphen (-),\n\
+\          and period (.) characters.\n\
 \  --mac-bundle-name <name string>\n\
 \          Name of the application as it appears in the Menu Bar\n\
 \          This can be different from the application name.\n\
 \          This name must be less than 16 characters long and be suitable for\n\
 \          displaying in the menu bar and the application Info window.\n\
 \          Defaults to the application name.\n\
-\  --mac-bundle-identifier <ID string>\n\
-\          An identifier that uniquely identifies the application for MacOSX\n\
-\          (and on the Mac App Store)\n\
-\          May only use alphanumeric (A-Z,a-z,0-9), hyphen (-),\n\
-\          and period (.) characters.\n\
-\  --mac-app-store-category <category string>\n\
-\          Mac App Store Categories\n\
-\          Note that the key is the string shown to\n\
-\          the user and the value is the ID of the category.\n\
-\  --mac-app-store-entitlements <file path>\n\
-\          Path of a custom mac app store entitlements file\n\
-\          (absolute path or relative to the current directory)\n\
 \  --mac-bundle-signing-prefix <prefix string>\n\
 \          When signing the application bundle, this value is prefixed to all\n\
 \          components that need to be signed that don't have\n\
 \          an existing bundle identifier.\n\
-\  --mac-signing-key-user-name <user name>\n\
-\          User name portion of the typical\n\
-\          "Mac Developer ID Application: <user name>" signing key\n\
+\  --mac-sign\n\
+\          Request that the bundle be signed\n\
 \  --mac-signing-keychain <file path>\n\
 \          Path of the keychain to use\n\
 \          (absolute path or relative to the current directory)\n\
 \          If not specified, the standard keychains are used.\n\
+\  --mac-signing-key-user-name <user name>\n\
+\          User name portion of the typical\n\
+\          "Mac Developer ID Application: <user name>" signing key\n\
 
-MSG_Help_linux=\nThe following options are valid for Linux platforms:\n\
+MSG_Help_linux_install=\
 \  --linux-bundle-name <bundle name>\n\
 \          Name for Linux bundle, defaults to the application name\n\
+\  --linux-deb-maintainer <email address>\n\
+\          Maintainer for .deb bundle\n\
+\  --linux-menu-group <menu-group-name>\n\
+\          Menu group this application is placed in\n\
 \  --linux-package-deps\n\
 \          Required packages or capabilities for the application\n\
 \  --linux-rpm-license-type <type string>\n\
 \          Type of the license ("License: <value>" of the RPM .spec)\n\
-\  --linux-deb-maintainer <email address>\n\
-\          Maintainer for .deb bundle\n\
-
-MSG_Help_win=\nThe following options are valid for Windows platforms:\n\
-\  --win-menu\n\
-\          Adds the application to the system menu\n\
-\  --win-menu-group <menu group name>\n\
-\          Start Menu group this application is placed in\n\
-\  --win-per-user-install\n\
-\          Request to perform an install on a per-user basis\n\
-\  --win-dir-chooser\n\
-\          Adds a dialog to enable the user to choose a directory in which\n\
-\          the product is installed\n\
-\  --win-registry-name <registry name>\n\
-\          Name of the application for registry references.\n\
-\          The default is the Application Name with only\n\
-\          alphanumerics, dots, and dashes (no whitespace)\n\
-\  --win-upgrade-uuid <id string>\n\
-\          UUID associated with upgrades for this package\n\
-\  --win-shortcut\n\
-\          Creates a desktop shortcut for the application\n\
-\  --win-console\n\
-\          Creates a console launcher for the application, should be\n\
-\          specified for application which requires console interactions\n\
 
 MSG_Help_no_args=Usage: jpackage <mode> <options>\n\
 \Use jpackage --help (or -h) for a list of possible options\