#
# Copyright (c) 2017, 2023, 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 <options>\n\
\n\
Sample usages:\n\
--------------\n\
\    Generate an application package suitable for the host system:\n\
\        For a modular application:\n\
\            jpackage -n name -p modulePath -m moduleName/className\n\
\        For a non-modular application:\n\
\            jpackage -i inputDir -n name \\\n\
\                --main-class className --main-jar myJar.jar\n\
\        From a pre-built application image:\n\
\            jpackage -n name --app-image appImageDir\n\
\    Generate an application image:\n\
\        For a modular application:\n\
\            jpackage --type app-image -n name -p modulePath \\\n\
\                -m moduleName/className\n\
\        For a non-modular application:\n\
\            jpackage --type app-image -i inputDir -n name \\\n\
\                --main-class className --main-jar myJar.jar\n\
\        To provide your own options to jlink, run jlink separately:\n\
\            jlink --output appRuntimeImage -p modulePath \\\n\
\                --add-modules moduleName \\\n\
\                --no-header-files [<additional jlink options>...]\n\
\            jpackage --type app-image -n name \\\n\
\                -m moduleName/className --runtime-image appRuntimeImage\n\
\    Generate a Java runtime package:\n\
\        jpackage -n name --runtime-image <runtime-image>\n\
\{6}\
\n\
Generic Options:\n\
\  @<filename> \n\
\          Read options and/or mode from a file \n\
\          This option can be used multiple times.\n\
\  --type -t <type> \n\
\          The type of package to create\n\
\          Valid values are: {1} \n\
\          If this option is not specified a platform dependent\n\
\          default type will be created.\n\
\  --app-version <version>\n\
\          Version of the application and/or package\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\
\  --icon <file path>\n\
\          Path of the icon of the application package\n\
\          (absolute path or relative to the current directory)\n\
\  --name -n <name>\n\
\          Name of the application and/or package\n\
\  --dest -d <destination path>\n\
\          Path where generated output file is placed\n\
\          (absolute path or relative to the current directory)\n\
\          Defaults to the current working directory.\n\
\  --temp <directory 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 dir 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\
\  --jlink-options <jlink options> \n\
\          A space separated list of options to pass to jlink \n\
\          If not specified, defaults to "--strip-native-commands \n\
\          --strip-debug --no-man-pages --no-header-files". \n\
\          This option can be used multiple times.\n\
\  --runtime-image <directory 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.\n\
\n\
\Options for creating the application image:\n\
\  --input -i <directory 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\
\  --app-content <additional content>[,<additional content>...]\n\
\          A comma separated list of paths to files and/or directories\n\
\          to add to the application payload.\n\
\          This option can be used more than once.\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", "main-jar", "main-class", "description",\n\
\          "arguments", "java-options", "app-version", "icon",\n\
\          "launcher-as-service",\n\
\          "win-console", "win-shortcut", "win-menu",\n\
\          "linux-app-category", and "linux-shortcut" 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 package:\n\
\  --about-url <url>\n\
\          URL of the application''s home page\n\
\  --app-image <directory path>\n\
\          {5}\
\          (absolute path or relative to the current directory)\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\
\  --install-dir <directory path>\n\
\          {4}\
\  --license-file <file path>\n\
\          Path to the license file\n\
\          (absolute path or relative to the current directory)\n\
\  --resource-dir <directory 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 <directory 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 package.\n\
\  --launcher-as-service\n\
\          Request to create an installer that will register the main\n\
\          application launcher as a background service-type application.\n\
\n\
\Platform dependent options for creating the application package:\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-help-url <url>\n\
\          URL where user can obtain further information or technical support\n\
\  --win-menu\n\
\          Request to add a Start menu shortcut for this application\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-shortcut\n\
\          Request to add desktop shortcut for this application\n\
\  --win-shortcut-prompt\n\
\          Adds a dialog to enable the user to choose if shortcuts\n\
\          will be created by installer.\n\
\  --win-update-url <url>\n\
\          URL of available application update information\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_install=\
\  --mac-dmg-content <additional content path>[,<additional content path>...]\n\
\          Include all the referenced content in the dmg.\n\
\          This option can be used multiple times. \n\

MSG_Help_mac_launcher=\
\  --mac-package-identifier <ID string>\n\
\          An identifier that uniquely identifies the application for macOS\n\
\          Defaults to the main class name.\n\
\          May only use alphanumeric (A-Z,a-z,0-9), hyphen (-),\n\
\          and period (.) characters.\n\
\  --mac-package-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-package-signing-prefix <prefix string>\n\
\          When signing the application package, this value is prefixed\n\
\          to all components that need to be signed that don't have\n\
\          an existing package identifier.\n\
\  --mac-sign\n\
\          Request that the package or the predefined application image be\n\
\          signed.\n\
\  --mac-signing-keychain <keychain name>\n\
\          Name of the keychain to search for the signing identity\n\
\          If not specified, the standard keychains are used.\n\
\  --mac-signing-key-user-name <team name>\n\
\          Team or user name portion of Apple signing identities. For direct\n\
\          control of the signing identity used to sign application images or\n\
\          installers use --mac-app-image-sign-identity and/or\n\
\          --mac-installer-sign-identity. This option cannot be combined with\n\
\          --mac-app-image-sign-identity or --mac-installer-sign-identity.\n\
\  --mac-app-image-sign-identity <identity>\n\
\          Identity used to sign application image. This value will be passed\n\
\          directly to --sign option of "codesign" tool. This option cannot\n\
\          be combined with --mac-signing-key-user-name.\n\
\  --mac-installer-sign-identity <identity>\n\
\          Identity used to sign "pkg" installer. This value will be passed\n\
\          directly to --sign option of "productbuild" tool. This option\n\
\          cannot be combined with --mac-signing-key-user-name.\n\
\  --mac-app-store\n\
\          Indicates that the jpackage output is intended for the\n\
\          Mac App Store.\n\
\  --mac-entitlements <file path>\n\
\          Path to file containing entitlements to use when signing\n\
\          executables and libraries in the bundle.\n\
\  --mac-app-category <category string>\n\
\          String used to construct LSApplicationCategoryType in\n\
\          application plist.  The default value is "utilities".\n\

MSG_Help_linux_install=\
\  --linux-package-name <package name>\n\
\          Name for Linux package, defaults to the application name\n\
\  --linux-deb-maintainer <email address>\n\
\          Maintainer for .deb package\n\
\  --linux-menu-group <menu-group-name>\n\
\          Menu group this application is placed in\n\
\  --linux-package-deps <package-dep-string>\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-app-release <release value>\n\
\          Release value of the RPM <name>.spec file or \n\
\          Debian revision value of the DEB control file\n\
\  --linux-app-category <category value>\n\
\          Group value of the RPM <name>.spec file or \n\
\          Section value of DEB control file\n\
\  --linux-shortcut\n\
\          Creates a shortcut for the application.\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\n\
\          the application such as "Program Files" or "AppData" on Windows.\n\

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

MSG_Help_default_app_image=\
\Location of the predefined application image that is used\n\
\          to build an installable package\n\

MSG_Help_mac_app_image=\
\Location of the predefined application image that is used\n\
\          to build an installable package or to sign the predefined\n\
\          application image\n\

MSG_Help_mac_sign_sample_usage=\
\    Sign the predefined application image:\n\
\        jpackage --type app-image --app-image <app-image> \\\n\
\            --mac-sign [<additional signing options>...]\n\
\        Note: the only additional options that are permitted in this mode are:\n\
\              the set of additional mac signing options and --verbose\n\
