41 *
42 * checkIfSupported(CLIOptions mode, CLIOptions arg)
43 * Determine if the given arg is valid in the given mode.
44 *
45 * checkIfOtherSupported(CLIOptions mode, CLIOptions arg)
46 * Determine if the given arg is valid in the a different mode.
47 */
48 class ValidOptions {
49
50 enum USE {
51 ALL, // valid in all cases
52 LAUNCHER, // valid when creating a launcher
53 INSTALL // valid when creating an installer
54 }
55
56 private static final HashMap<String, USE> options = new HashMap<>();
57
58
59 // initializing list of mandatory arguments
60 static {
61 options.put(CLIOptions.CREATE_IMAGE.getId(), USE.ALL);
62 options.put(CLIOptions.CREATE_INSTALLER.getId(), USE.ALL);
63 options.put(CLIOptions.NAME.getId(), USE.ALL);
64 options.put(CLIOptions.VERSION.getId(), USE.ALL);
65 options.put(CLIOptions.OUTPUT.getId(), USE.ALL);
66 options.put(CLIOptions.TEMP_ROOT.getId(), USE.ALL);
67 options.put(CLIOptions.VERBOSE.getId(), USE.ALL);
68 options.put(CLIOptions.PREDEFINED_RUNTIME_IMAGE.getId(), USE.ALL);
69 options.put(CLIOptions.RESOURCE_DIR.getId(), USE.ALL);
70 options.put(CLIOptions.IDENTIFIER.getId(), USE.ALL);
71 options.put(CLIOptions.DESCRIPTION.getId(), USE.ALL);
72 options.put(CLIOptions.VENDOR.getId(), USE.ALL);
73 options.put(CLIOptions.COPYRIGHT.getId(), USE.ALL);
74
75 options.put(CLIOptions.INPUT.getId(), USE.LAUNCHER);
76 options.put(CLIOptions.FILES.getId(), USE.LAUNCHER);
77 options.put(CLIOptions.MODULE.getId(), USE.LAUNCHER);
78 options.put(CLIOptions.MODULE_PATH.getId(), USE.LAUNCHER);
79 options.put(CLIOptions.ADD_MODULES.getId(), USE.LAUNCHER);
80 options.put(CLIOptions.MAIN_JAR.getId(), USE.LAUNCHER);
81 options.put(CLIOptions.APPCLASS.getId(), USE.LAUNCHER);
82 options.put(CLIOptions.ICON.getId(), USE.LAUNCHER);
83 options.put(CLIOptions.ARGUMENTS.getId(), USE.LAUNCHER);
84 options.put(CLIOptions.JAVA_OPTIONS.getId(), USE.LAUNCHER);
85 options.put(CLIOptions.ADD_LAUNCHER.getId(), USE.LAUNCHER);
86
87 options.put(CLIOptions.INSTALLER_TYPE.getId(), USE.INSTALL);
88 options.put(CLIOptions.LICENSE_FILE.getId(), USE.INSTALL);
89 options.put(CLIOptions.INSTALL_DIR.getId(), USE.INSTALL);
90 options.put(CLIOptions.PREDEFINED_APP_IMAGE.getId(), USE.INSTALL);
91
92 options.put(CLIOptions.FILE_ASSOCIATIONS.getId(),
93 (Platform.getPlatform() == Platform.MAC) ? USE.ALL : USE.INSTALL);
94
95 if (Platform.getPlatform() == Platform.WINDOWS) {
96 options.put(CLIOptions.WIN_CONSOLE_HINT.getId(), USE.LAUNCHER);
|
41 *
42 * checkIfSupported(CLIOptions mode, CLIOptions arg)
43 * Determine if the given arg is valid in the given mode.
44 *
45 * checkIfOtherSupported(CLIOptions mode, CLIOptions arg)
46 * Determine if the given arg is valid in the a different mode.
47 */
48 class ValidOptions {
49
50 enum USE {
51 ALL, // valid in all cases
52 LAUNCHER, // valid when creating a launcher
53 INSTALL // valid when creating an installer
54 }
55
56 private static final HashMap<String, USE> options = new HashMap<>();
57
58
59 // initializing list of mandatory arguments
60 static {
61 options.put(CLIOptions.CREATE_APP_IMAGE.getId(), USE.ALL);
62 options.put(CLIOptions.CREATE_INSTALLER.getId(), USE.ALL);
63 options.put(CLIOptions.NAME.getId(), USE.ALL);
64 options.put(CLIOptions.VERSION.getId(), USE.ALL);
65 options.put(CLIOptions.OUTPUT.getId(), USE.ALL);
66 options.put(CLIOptions.TEMP_ROOT.getId(), USE.ALL);
67 options.put(CLIOptions.VERBOSE.getId(), USE.ALL);
68 options.put(CLIOptions.PREDEFINED_RUNTIME_IMAGE.getId(), USE.ALL);
69 options.put(CLIOptions.RESOURCE_DIR.getId(), USE.ALL);
70 options.put(CLIOptions.IDENTIFIER.getId(), USE.ALL);
71 options.put(CLIOptions.DESCRIPTION.getId(), USE.ALL);
72 options.put(CLIOptions.VENDOR.getId(), USE.ALL);
73 options.put(CLIOptions.COPYRIGHT.getId(), USE.ALL);
74
75 options.put(CLIOptions.INPUT.getId(), USE.LAUNCHER);
76 options.put(CLIOptions.MODULE.getId(), USE.LAUNCHER);
77 options.put(CLIOptions.MODULE_PATH.getId(), USE.LAUNCHER);
78 options.put(CLIOptions.ADD_MODULES.getId(), USE.LAUNCHER);
79 options.put(CLIOptions.MAIN_JAR.getId(), USE.LAUNCHER);
80 options.put(CLIOptions.APPCLASS.getId(), USE.LAUNCHER);
81 options.put(CLIOptions.ICON.getId(), USE.LAUNCHER);
82 options.put(CLIOptions.ARGUMENTS.getId(), USE.LAUNCHER);
83 options.put(CLIOptions.JAVA_OPTIONS.getId(), USE.LAUNCHER);
84 options.put(CLIOptions.ADD_LAUNCHER.getId(), USE.LAUNCHER);
85
86 options.put(CLIOptions.INSTALLER_TYPE.getId(), USE.INSTALL);
87 options.put(CLIOptions.LICENSE_FILE.getId(), USE.INSTALL);
88 options.put(CLIOptions.INSTALL_DIR.getId(), USE.INSTALL);
89 options.put(CLIOptions.PREDEFINED_APP_IMAGE.getId(), USE.INSTALL);
90
91 options.put(CLIOptions.FILE_ASSOCIATIONS.getId(),
92 (Platform.getPlatform() == Platform.MAC) ? USE.ALL : USE.INSTALL);
93
94 if (Platform.getPlatform() == Platform.WINDOWS) {
95 options.put(CLIOptions.WIN_CONSOLE_HINT.getId(), USE.LAUNCHER);
|