< prev index next >
src/jdk.incubator.jpackage/share/classes/jdk/incubator/jpackage/internal/AddLauncherArguments.java
Print this page
@@ -21,17 +21,17 @@
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
-package jdk.jpackage.internal;
+package jdk.incubator.jpackage.internal;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.io.File;
-import jdk.jpackage.internal.Arguments.CLIOptions;
+import jdk.incubator.jpackage.internal.Arguments.CLIOptions;
/*
* AddLauncherArguments
*
* Processes a add-launcher properties file to create the Map of
@@ -49,17 +49,17 @@
*
* The add-launcher properties file may have any of:
*
* appVersion
* module
- * add-modules
* main-jar
* main-class
* icon
* arguments
* java-options
* win-console
+ * linux-app-category
*
*/
class AddLauncherArguments {
private final String name;
@@ -102,32 +102,37 @@
getOptionValue(CLIOptions.NAME));
putUnlessNull(bundleParams, CLIOptions.VERSION.getId(),
getOptionValue(CLIOptions.VERSION));
- putUnlessNull(bundleParams,
- CLIOptions.ADD_MODULES.getId(),
- getOptionValue(CLIOptions.ADD_MODULES));
+ putUnlessNull(bundleParams, CLIOptions.RELEASE.getId(),
+ getOptionValue(CLIOptions.RELEASE));
+
+ putUnlessNull(bundleParams, CLIOptions.LINUX_CATEGORY.getId(),
+ getOptionValue(CLIOptions.LINUX_CATEGORY));
putUnlessNull(bundleParams,
CLIOptions.WIN_CONSOLE_HINT.getId(),
getOptionValue(CLIOptions.WIN_CONSOLE_HINT));
String value = getOptionValue(CLIOptions.ICON);
putUnlessNull(bundleParams, CLIOptions.ICON.getId(),
(value == null) ? null : new File(value));
+ // "arguments" and "java-options" even if value is null:
+ if (allArgs.containsKey(CLIOptions.ARGUMENTS.getId())) {
String argumentStr = getOptionValue(CLIOptions.ARGUMENTS);
- putUnlessNullOrEmpty(bundleParams,
- CLIOptions.ARGUMENTS.getId(),
+ bundleParams.put(CLIOptions.ARGUMENTS.getId(),
Arguments.getArgumentList(argumentStr));
+ }
+ if (allArgs.containsKey(CLIOptions.JAVA_OPTIONS.getId())) {
String jvmargsStr = getOptionValue(CLIOptions.JAVA_OPTIONS);
- putUnlessNullOrEmpty(bundleParams,
- CLIOptions.JAVA_OPTIONS.getId(),
+ bundleParams.put(CLIOptions.JAVA_OPTIONS.getId(),
Arguments.getArgumentList(jvmargsStr));
}
+ }
private String getOptionValue(CLIOptions option) {
if (option == null || allArgs == null) {
return null;
}
@@ -151,36 +156,28 @@
if (value != null) {
params.put(param, value);
}
}
- private void putUnlessNullOrEmpty(Map<String, ? super Object> params,
- String param, Collection<?> value) {
- if (value != null && !value.isEmpty()) {
- params.put(param, value);
- }
- }
-
- private void putUnlessNullOrEmpty(Map<String, ? super Object> params,
- String param, Map<?, ?> value) {
- if (value != null && !value.isEmpty()) {
- params.put(param, value);
- }
- }
-
static Map<String, ? super Object> merge(
Map<String, ? super Object> original,
Map<String, ? super Object> additional) {
Map<String, ? super Object> tmp = new HashMap<>(original);
- if (additional.containsKey("module")) {
- tmp.remove("main-jar");
- tmp.remove("main-class");
- } else if (additional.containsKey("main-jar")) {
- tmp.remove("module");
- // should we only remove add-modules when it wasn't actually passed
- // but was inferred or empty ?
- tmp.remove("add-modules");
+ if (additional.containsKey(CLIOptions.MODULE.getId())) {
+ tmp.remove(CLIOptions.MAIN_JAR.getId());
+ tmp.remove(CLIOptions.APPCLASS.getId());
+ } else if (additional.containsKey(CLIOptions.MAIN_JAR.getId())) {
+ tmp.remove(CLIOptions.MODULE.getId());
+ }
+ if (additional.containsKey(CLIOptions.ARGUMENTS.getId())) {
+ // if add launcher properties file contains "arguments", even with
+ // null value, disregard the "arguments" from command line
+ tmp.remove(CLIOptions.ARGUMENTS.getId());
+ }
+ if (additional.containsKey(CLIOptions.JAVA_OPTIONS.getId())) {
+ // same thing for java-options
+ tmp.remove(CLIOptions.JAVA_OPTIONS.getId());
}
tmp.putAll(additional);
return tmp;
}
< prev index next >