src/jdk.jpackage/share/classes/jdk/jpackage/internal/AddLauncherArguments.java
branchJDK-8200758-branch
changeset 57330 a30edd277572
parent 57307 4948a1944cf9
child 57394 17c43babfc2f
equal deleted inserted replaced
57329:8009cf5b833d 57330:a30edd277572
    47  * There may be multiple add-launchers, each created by using the
    47  * There may be multiple add-launchers, each created by using the
    48  * command line arg "--add-launcher <file path>
    48  * command line arg "--add-launcher <file path>
    49  *
    49  *
    50  * The add-launcher properties file may have any of:
    50  * The add-launcher properties file may have any of:
    51  *
    51  *
    52  * name (required)
       
    53  * appVersion
    52  * appVersion
    54  * module
    53  * module
    55  * add-modules
    54  * add-modules
    56  * main-jar
    55  * main-jar
    57  * main-class
    56  * main-class
    61  * win-console
    60  * win-console
    62  *
    61  *
    63  */
    62  */
    64 class AddLauncherArguments {
    63 class AddLauncherArguments {
    65 
    64 
       
    65     private final String name;
    66     private final String filename;
    66     private final String filename;
    67     private Map<String, String> allArgs;
    67     private Map<String, String> allArgs;
    68     private Map<String, ? super Object> bundleParams;
    68     private Map<String, ? super Object> bundleParams;
    69 
    69 
    70     AddLauncherArguments(String filename) {
    70     AddLauncherArguments(String name, String filename) {
       
    71         this.name = name;
    71         this.filename = filename;
    72         this.filename = filename;
    72     }
    73     }
    73 
    74 
    74     private void initLauncherMap() {
    75     private void initLauncherMap() {
    75         if (bundleParams != null) {
    76         if (bundleParams != null) {
    76             return;
    77             return;
    77         }
    78         }
    78 
    79 
    79         allArgs = Arguments.getPropertiesFromFile(filename);
    80         allArgs = Arguments.getPropertiesFromFile(filename);
       
    81         allArgs.put(CLIOptions.NAME.getId(), name);
    80 
    82 
    81         bundleParams = new HashMap<>();
    83         bundleParams = new HashMap<>();
    82         String mainJar = getOptionValue(CLIOptions.MAIN_JAR);
    84         String mainJar = getOptionValue(CLIOptions.MAIN_JAR);
    83         String mainClass = getOptionValue(CLIOptions.APPCLASS);
    85         String mainClass = getOptionValue(CLIOptions.APPCLASS);
    84         String module = getOptionValue(CLIOptions.MODULE);
    86         String module = getOptionValue(CLIOptions.MODULE);
    85 
    87 
    86         if (module != null && mainClass != null) {
    88         if (module != null && mainClass != null) {
    87             putUnlessNull(bundleParams, Arguments.CLIOptions.MODULE.getId(),
    89             putUnlessNull(bundleParams, CLIOptions.MODULE.getId(),
    88                     module + "/" + mainClass);
    90                     module + "/" + mainClass);
    89         } else if (module != null) {
    91         } else if (module != null) {
    90             putUnlessNull(bundleParams, Arguments.CLIOptions.MODULE.getId(),
    92             putUnlessNull(bundleParams, CLIOptions.MODULE.getId(),
    91                     module);
    93                     module);
    92         } else {
    94         } else {
    93             putUnlessNull(bundleParams, Arguments.CLIOptions.MAIN_JAR.getId(),
    95             putUnlessNull(bundleParams, CLIOptions.MAIN_JAR.getId(),
    94                     mainJar);
    96                     mainJar);
    95             putUnlessNull(bundleParams, Arguments.CLIOptions.APPCLASS.getId(),
    97             putUnlessNull(bundleParams, CLIOptions.APPCLASS.getId(),
    96                     mainClass);
    98                     mainClass);
    97         }
    99         }
    98 
   100 
    99         putUnlessNull(bundleParams, Arguments.CLIOptions.NAME.getId(),
   101         putUnlessNull(bundleParams, CLIOptions.NAME.getId(),
   100                 getOptionValue(CLIOptions.NAME));
   102                 getOptionValue(CLIOptions.NAME));
   101 
   103 
   102         putUnlessNull(bundleParams, Arguments.CLIOptions.VERSION.getId(),
   104         putUnlessNull(bundleParams, CLIOptions.VERSION.getId(),
   103                 getOptionValue(CLIOptions.VERSION));
   105                 getOptionValue(CLIOptions.VERSION));
   104 
   106 
   105         putUnlessNull(bundleParams,
   107         putUnlessNull(bundleParams,
   106                 Arguments.CLIOptions.ADD_MODULES.getId(),
   108                 CLIOptions.ADD_MODULES.getId(),
   107                 getOptionValue(CLIOptions.ADD_MODULES));
   109                 getOptionValue(CLIOptions.ADD_MODULES));
   108 
   110 
   109         putUnlessNull(bundleParams,
   111         putUnlessNull(bundleParams,
   110                 Arguments.CLIOptions.WIN_CONSOLE_HINT.getId(),
   112                 CLIOptions.WIN_CONSOLE_HINT.getId(),
   111                 getOptionValue(CLIOptions.WIN_CONSOLE_HINT));
   113                 getOptionValue(CLIOptions.WIN_CONSOLE_HINT));
   112 
   114 
   113         String value = getOptionValue(CLIOptions.ICON);
   115         String value = getOptionValue(CLIOptions.ICON);
   114         putUnlessNull(bundleParams, Arguments.CLIOptions.ICON.getId(),
   116         putUnlessNull(bundleParams, CLIOptions.ICON.getId(),
   115                 (value == null) ? null : new File(value));
   117                 (value == null) ? null : new File(value));
   116 
   118 
   117         String argumentStr = getOptionValue(CLIOptions.ARGUMENTS);
   119         String argumentStr = getOptionValue(CLIOptions.ARGUMENTS);
   118         putUnlessNullOrEmpty(bundleParams,
   120         putUnlessNullOrEmpty(bundleParams,
   119                 CLIOptions.ARGUMENTS.getId(),
   121                 CLIOptions.ARGUMENTS.getId(),