#
# Copyright (c) 2017, 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.
#
#

MSG_Help=Usage: jpackage <mode> <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\
\            --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\
\        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\
\                -m moduleName/className --runtime-image appRuntimeIMage\n\
\    Generate an application installer:\n\
\        jpackage create-installer -o outputdir -n name \\\n\
\            -p modulePath -m moduleName/className\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 -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\
\  --app-version <version>\n\
\          Version of the application and/or installer\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\
\  --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\
\  --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\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\
\          This option can be used multiple times.\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\
\          This option can be used multiple times.\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\
\  --icon <icon file path>\n\
\          Path of the icon of the application bundle\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 be packaged\n\
\          (absolute path or relative to the current directory)\n\
\          All files in the input directory will be packaged into the\n\
\          application image.\n\
\n\
\Options for creating the application launcher(s):\n\
\  --add-launcher <launcher name>=<file path>\n\
\          Name of launcher, and a path to a Properties file that contains\n\
\          a list of key, value pairs\n\
\          (absolute path or relative to the current directory)\n\
\          The keys "module", "add-modules", "main-jar", "main-class",\n\
\          "arguments", "java-options", "app-version", "icon", and\n\
\          "win-console" can be used.\n\
\          These options are added to, or used to overwrite, the original\n\
\          command line options to build an additional alternative launcher.\n\
\          The main application launcher will be built from the command line\n\
\          options. Additional alternative launchers can be built using\n\
\          this option, and this option can be used multiple times to\n\
\          build multiple additional launchers. \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\
\          This option can be used multiple times.\n\
\  --java-options <java options>\n\
\          Options to pass to the Java runtime\n\
\          This option can be used multiple times.\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 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\
\          The keys "extension", "mime-type", "icon", and "description"\n\
\          can be used to describe the association.\n\
\          This option can be used multiple times.\n\
\  --identifier <id string>\n\
\          An identifier that uniquely identifies the application\n\
\          Defaults to the main class name.\n\
\          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\
\  --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\
\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_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_win_install_dir=\
\Relative sub-path under the default installation location\n\

MSG_Help_mac_launcher=\
\  --mac-bundle-identifier <ID string>\n\
\          An identifier that uniquely identifies the application for MacOSX\n\
\          Defaults to the value of --identifier option.\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-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-sign\n\
\          Request that the bundle be signed\n\
\  --mac-signing-keychain <file path>\n\
\          Path of the keychain to search for the signing identity\n\
\          (absolute path or relative to the current directory).\n\
\          If not specified, the standard keychains are used.\n\
\  --mac-signing-key-user-name <team name>\n\
\          Team name portion in Apple signing identities' names.\n\
\          For example "Developer ID Application: "\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\

MSG_Help_mac_linux_install_dir=\
\Absolute path of the installation directory of the application\n\

MSG_Help_default_install_dir=\
\Absolute path of the installation directory of the application on OS X\n\
\          or Linux. Relative sub-path of the installation location of the application\n\
\          such as "Program Files" or "AppData" on Windows.\n\

MSG_Help_no_args=Usage: jpackage <mode> <options>\n\
\Use jpackage --help (or -h) for a list of possible options\

