< prev index next >

src/jdk.jpackage/share/classes/jdk/jpackage/internal/StandardBundlerParam.java

Print this page

        

*** 56,66 **** import java.util.jar.Manifest; import java.util.regex.Pattern; import java.util.stream.Collectors; /** ! * StandardBundlerParams * * A parameter to a bundler. * * Also contains static definitions of all of the common bundler parameters. * (additional platform specific and mode specific bundler parameters --- 56,66 ---- import java.util.jar.Manifest; import java.util.regex.Pattern; import java.util.stream.Collectors; /** ! * StandardBundlerParam * * A parameter to a bundler. * * Also contains static definitions of all of the common bundler parameters. * (additional platform specific and mode specific bundler parameters
*** 72,98 **** private static final ResourceBundle I18N = ResourceBundle.getBundle( "jdk.jpackage.internal.resources.MainResources"); private static final String JAVABASEJMOD = "java.base.jmod"; ! StandardBundlerParam(String name, String description, String id, ! Class<T> valueType, Function<Map<String, ? super Object>, T> defaultValueFunction, BiFunction<String, Map<String, ? super Object>, T> stringConverter) { - this.name = name; - this.description = description; this.id = id; this.valueType = valueType; this.defaultValueFunction = defaultValueFunction; this.stringConverter = stringConverter; } static final StandardBundlerParam<RelativeFileSet> APP_RESOURCES = new StandardBundlerParam<>( - I18N.getString("param.app-resources.name"), - I18N.getString("param.app-resource.description"), BundleParams.PARAM_APP_RESOURCES, RelativeFileSet.class, null, // no default. Required parameter null // no string translation, // tool must provide complex type --- 72,93 ---- private static final ResourceBundle I18N = ResourceBundle.getBundle( "jdk.jpackage.internal.resources.MainResources"); private static final String JAVABASEJMOD = "java.base.jmod"; ! StandardBundlerParam(String id, Class<T> valueType, Function<Map<String, ? super Object>, T> defaultValueFunction, BiFunction<String, Map<String, ? super Object>, T> stringConverter) { this.id = id; this.valueType = valueType; this.defaultValueFunction = defaultValueFunction; this.stringConverter = stringConverter; } static final StandardBundlerParam<RelativeFileSet> APP_RESOURCES = new StandardBundlerParam<>( BundleParams.PARAM_APP_RESOURCES, RelativeFileSet.class, null, // no default. Required parameter null // no string translation, // tool must provide complex type
*** 100,123 **** @SuppressWarnings("unchecked") static final StandardBundlerParam<List<RelativeFileSet>> APP_RESOURCES_LIST = new StandardBundlerParam<>( - I18N.getString("param.app-resources-list.name"), - I18N.getString("param.app-resource-list.description"), BundleParams.PARAM_APP_RESOURCES + "List", (Class<List<RelativeFileSet>>) (Object) List.class, // Default is appResources, as a single item list p -> new ArrayList<>(Collections.singletonList( APP_RESOURCES.fetchFrom(p))), StandardBundlerParam::createAppResourcesListFromString ); static final StandardBundlerParam<String> SOURCE_DIR = new StandardBundlerParam<>( - I18N.getString("param.source-dir.name"), - I18N.getString("param.source-dir.description"), Arguments.CLIOptions.INPUT.getId(), String.class, p -> null, (s, p) -> { String value = String.valueOf(s); --- 95,114 ----
*** 133,144 **** // note that each bundler is likely to replace this one with // their own converter static final StandardBundlerParam<RelativeFileSet> MAIN_JAR = new StandardBundlerParam<>( - I18N.getString("param.main-jar.name"), - I18N.getString("param.main-jar.description"), Arguments.CLIOptions.MAIN_JAR.getId(), RelativeFileSet.class, params -> { extractMainClassInfoFromAppResources(params); return (RelativeFileSet) params.get("mainJar"); --- 124,133 ----
*** 147,189 **** ); // TODO: test CLASSPATH jar manifest Attributet static final StandardBundlerParam<String> CLASSPATH = new StandardBundlerParam<>( - I18N.getString("param.classpath.name"), - I18N.getString("param.classpath.description"), "classpath", String.class, params -> { extractMainClassInfoFromAppResources(params); String cp = (String) params.get("classpath"); return cp == null ? "" : cp; }, (s, p) -> s.replace(File.pathSeparator, " ") ); - static final StandardBundlerParam<Boolean> RUNTIME_INSTALLER = - new StandardBundlerParam<>( - "", - "", - Arguments.CLIOptions.RUNTIME_INSTALLER.getId(), - Boolean.class, - params -> false, - // valueOf(null) is false, and we actually do want null - (s, p) -> (s == null || "null".equalsIgnoreCase(s)) ? - true : Boolean.valueOf(s) - ); - - static final StandardBundlerParam<String> MAIN_CLASS = new StandardBundlerParam<>( - I18N.getString("param.main-class.name"), - I18N.getString("param.main-class.description"), Arguments.CLIOptions.APPCLASS.getId(), String.class, params -> { ! if (RUNTIME_INSTALLER.fetchFrom(params)) { return null; } extractMainClassInfoFromAppResources(params); String s = (String) params.get( BundleParams.PARAM_APPLICATION_CLASS); --- 136,161 ---- ); // TODO: test CLASSPATH jar manifest Attributet static final StandardBundlerParam<String> CLASSPATH = new StandardBundlerParam<>( "classpath", String.class, params -> { extractMainClassInfoFromAppResources(params); String cp = (String) params.get("classpath"); return cp == null ? "" : cp; }, (s, p) -> s.replace(File.pathSeparator, " ") ); static final StandardBundlerParam<String> MAIN_CLASS = new StandardBundlerParam<>( Arguments.CLIOptions.APPCLASS.getId(), String.class, params -> { ! if (isRuntimeInstaller(params)) { return null; } extractMainClassInfoFromAppResources(params); String s = (String) params.get( BundleParams.PARAM_APPLICATION_CLASS);
*** 195,206 **** (s, p) -> s ); static final StandardBundlerParam<String> APP_NAME = new StandardBundlerParam<>( - I18N.getString("param.app-name.name"), - I18N.getString("param.app-name.description"), Arguments.CLIOptions.NAME.getId(), String.class, params -> { String s = MAIN_CLASS.fetchFrom(params); if (s == null) return null; --- 167,176 ----
*** 214,334 **** (s, p) -> s ); static final StandardBundlerParam<File> ICON = new StandardBundlerParam<>( - I18N.getString("param.icon-file.name"), - I18N.getString("param.icon-file.description"), Arguments.CLIOptions.ICON.getId(), File.class, params -> null, (s, p) -> new File(s) ); static final StandardBundlerParam<String> VENDOR = new StandardBundlerParam<>( - I18N.getString("param.vendor.name"), - I18N.getString("param.vendor.description"), Arguments.CLIOptions.VENDOR.getId(), String.class, params -> I18N.getString("param.vendor.default"), (s, p) -> s ); static final StandardBundlerParam<String> CATEGORY = new StandardBundlerParam<>( - I18N.getString("param.category.name"), - I18N.getString("param.category.description"), Arguments.CLIOptions.CATEGORY.getId(), String.class, params -> I18N.getString("param.category.default"), (s, p) -> s ); static final StandardBundlerParam<String> DESCRIPTION = new StandardBundlerParam<>( - I18N.getString("param.description.name"), - I18N.getString("param.description.description"), Arguments.CLIOptions.DESCRIPTION.getId(), String.class, params -> params.containsKey(APP_NAME.getID()) ? APP_NAME.fetchFrom(params) : I18N.getString("param.description.default"), (s, p) -> s ); static final StandardBundlerParam<String> COPYRIGHT = new StandardBundlerParam<>( - I18N.getString("param.copyright.name"), - I18N.getString("param.copyright.description"), Arguments.CLIOptions.COPYRIGHT.getId(), String.class, params -> MessageFormat.format(I18N.getString( "param.copyright.default"), new Date()), (s, p) -> s ); @SuppressWarnings("unchecked") static final StandardBundlerParam<List<String>> ARGUMENTS = new StandardBundlerParam<>( - I18N.getString("param.arguments.name"), - I18N.getString("param.arguments.description"), Arguments.CLIOptions.ARGUMENTS.getId(), (Class<List<String>>) (Object) List.class, params -> Collections.emptyList(), (s, p) -> splitStringWithEscapes(s) ); @SuppressWarnings("unchecked") static final StandardBundlerParam<List<String>> JVM_OPTIONS = new StandardBundlerParam<>( - I18N.getString("param.jvm-options.name"), - I18N.getString("param.jvm-options.description"), Arguments.CLIOptions.JVM_ARGS.getId(), (Class<List<String>>) (Object) List.class, params -> Collections.emptyList(), (s, p) -> Arrays.asList(s.split("\n\n")) ); static final StandardBundlerParam<String> TITLE = new StandardBundlerParam<>( - I18N.getString("param.title.name"), - I18N.getString("param.title.description"), BundleParams.PARAM_TITLE, String.class, APP_NAME::fetchFrom, (s, p) -> s ); // note that each bundler is likely to replace this one with // their own converter static final StandardBundlerParam<String> VERSION = new StandardBundlerParam<>( - I18N.getString("param.version.name"), - I18N.getString("param.version.description"), Arguments.CLIOptions.VERSION.getId(), String.class, params -> I18N.getString("param.version.default"), (s, p) -> s ); @SuppressWarnings("unchecked") public static final StandardBundlerParam<String> LICENSE_FILE = new StandardBundlerParam<>( - I18N.getString("param.license-file.name"), - I18N.getString("param.license-file.description"), Arguments.CLIOptions.LICENSE_FILE.getId(), String.class, params -> null, (s, p) -> s ); ! static final StandardBundlerParam<File> BUILD_ROOT = new StandardBundlerParam<>( ! I18N.getString("param.build-root.name"), ! I18N.getString("param.build-root.description"), ! Arguments.CLIOptions.BUILD_ROOT.getId(), File.class, params -> { try { return Files.createTempDirectory( "jdk.jpackage").toFile(); --- 184,282 ---- (s, p) -> s ); static final StandardBundlerParam<File> ICON = new StandardBundlerParam<>( Arguments.CLIOptions.ICON.getId(), File.class, params -> null, (s, p) -> new File(s) ); static final StandardBundlerParam<String> VENDOR = new StandardBundlerParam<>( Arguments.CLIOptions.VENDOR.getId(), String.class, params -> I18N.getString("param.vendor.default"), (s, p) -> s ); static final StandardBundlerParam<String> CATEGORY = new StandardBundlerParam<>( Arguments.CLIOptions.CATEGORY.getId(), String.class, params -> I18N.getString("param.category.default"), (s, p) -> s ); static final StandardBundlerParam<String> DESCRIPTION = new StandardBundlerParam<>( Arguments.CLIOptions.DESCRIPTION.getId(), String.class, params -> params.containsKey(APP_NAME.getID()) ? APP_NAME.fetchFrom(params) : I18N.getString("param.description.default"), (s, p) -> s ); static final StandardBundlerParam<String> COPYRIGHT = new StandardBundlerParam<>( Arguments.CLIOptions.COPYRIGHT.getId(), String.class, params -> MessageFormat.format(I18N.getString( "param.copyright.default"), new Date()), (s, p) -> s ); @SuppressWarnings("unchecked") static final StandardBundlerParam<List<String>> ARGUMENTS = new StandardBundlerParam<>( Arguments.CLIOptions.ARGUMENTS.getId(), (Class<List<String>>) (Object) List.class, params -> Collections.emptyList(), (s, p) -> splitStringWithEscapes(s) ); @SuppressWarnings("unchecked") static final StandardBundlerParam<List<String>> JVM_OPTIONS = new StandardBundlerParam<>( Arguments.CLIOptions.JVM_ARGS.getId(), (Class<List<String>>) (Object) List.class, params -> Collections.emptyList(), (s, p) -> Arrays.asList(s.split("\n\n")) ); static final StandardBundlerParam<String> TITLE = new StandardBundlerParam<>( BundleParams.PARAM_TITLE, String.class, APP_NAME::fetchFrom, (s, p) -> s ); // note that each bundler is likely to replace this one with // their own converter static final StandardBundlerParam<String> VERSION = new StandardBundlerParam<>( Arguments.CLIOptions.VERSION.getId(), String.class, params -> I18N.getString("param.version.default"), (s, p) -> s ); @SuppressWarnings("unchecked") public static final StandardBundlerParam<String> LICENSE_FILE = new StandardBundlerParam<>( Arguments.CLIOptions.LICENSE_FILE.getId(), String.class, params -> null, (s, p) -> s ); ! static final StandardBundlerParam<File> TEMP_ROOT = new StandardBundlerParam<>( ! Arguments.CLIOptions.TEMP_ROOT.getId(), File.class, params -> { try { return Files.createTempDirectory( "jdk.jpackage").toFile();
*** 339,365 **** (s, p) -> new File(s) ); public static final StandardBundlerParam<File> CONFIG_ROOT = new StandardBundlerParam<>( - I18N.getString("param.config-root.name"), - I18N.getString("param.config-root.description"), "configRoot", File.class, params -> { File root = ! new File(BUILD_ROOT.fetchFrom(params), "config"); root.mkdirs(); return root; }, (s, p) -> null ); static final StandardBundlerParam<String> IDENTIFIER = new StandardBundlerParam<>( - I18N.getString("param.identifier.name"), - I18N.getString("param.identifier.description"), Arguments.CLIOptions.IDENTIFIER.getId(), String.class, params -> { String s = MAIN_CLASS.fetchFrom(params); if (s == null) return null; --- 287,309 ---- (s, p) -> new File(s) ); public static final StandardBundlerParam<File> CONFIG_ROOT = new StandardBundlerParam<>( "configRoot", File.class, params -> { File root = ! new File(TEMP_ROOT.fetchFrom(params), "config"); root.mkdirs(); return root; }, (s, p) -> null ); static final StandardBundlerParam<String> IDENTIFIER = new StandardBundlerParam<>( Arguments.CLIOptions.IDENTIFIER.getId(), String.class, params -> { String s = MAIN_CLASS.fetchFrom(params); if (s == null) return null;
*** 373,459 **** (s, p) -> s ); static final StandardBundlerParam<String> PREFERENCES_ID = new StandardBundlerParam<>( - I18N.getString("param.preferences-id.name"), - I18N.getString("param.preferences-id.description"), "preferencesID", String.class, p -> Optional.ofNullable(IDENTIFIER.fetchFrom(p)). orElse("").replace('.', '/'), (s, p) -> s ); static final StandardBundlerParam<Boolean> VERBOSE = new StandardBundlerParam<>( - I18N.getString("param.verbose.name"), - I18N.getString("param.verbose.description"), Arguments.CLIOptions.VERBOSE.getId(), Boolean.class, params -> false, // valueOf(null) is false, and we actually do want null (s, p) -> (s == null || "null".equalsIgnoreCase(s)) ? true : Boolean.valueOf(s) ); - static final StandardBundlerParam<Boolean> OVERWRITE = - new StandardBundlerParam<>( - I18N.getString("param.overwrite.name"), - I18N.getString("param.overwrite.description"), - Arguments.CLIOptions.OVERWRITE.getId(), - Boolean.class, - params -> false, - // valueOf(null) is false, and we actually do want null - (s, p) -> (s == null || "null".equalsIgnoreCase(s)) ? - true : Boolean.valueOf(s) - ); - static final StandardBundlerParam<File> RESOURCE_DIR = new StandardBundlerParam<>( - I18N.getString("param.resource-dir.name"), - I18N.getString("param.resource-dir.description"), Arguments.CLIOptions.RESOURCE_DIR.getId(), File.class, params -> null, (s, p) -> new File(s) ); static final BundlerParamInfo<String> INSTALL_DIR = new StandardBundlerParam<>( - I18N.getString("param.install-dir.name"), - I18N.getString("param.install-dir.description"), Arguments.CLIOptions.INSTALL_DIR.getId(), String.class, params -> null, (s, p) -> s ); static final StandardBundlerParam<File> PREDEFINED_APP_IMAGE = new StandardBundlerParam<>( - I18N.getString("param.predefined-app-image.name"), - I18N.getString("param.predefined-app-image.description"), Arguments.CLIOptions.PREDEFINED_APP_IMAGE.getId(), File.class, params -> null, (s, p) -> new File(s)); static final StandardBundlerParam<File> PREDEFINED_RUNTIME_IMAGE = new StandardBundlerParam<>( - I18N.getString("param.predefined-runtime-image.name"), - I18N.getString("param.predefined-runtime-image.description"), Arguments.CLIOptions.PREDEFINED_RUNTIME_IMAGE.getId(), File.class, params -> null, (s, p) -> new File(s)); @SuppressWarnings("unchecked") ! static final StandardBundlerParam<List<Map<String, ? super Object>>> SECONDARY_LAUNCHERS = new StandardBundlerParam<>( ! I18N.getString("param.secondary-launchers.name"), ! I18N.getString("param.secondary-launchers.description"), ! Arguments.CLIOptions.SECONDARY_LAUNCHER.getId(), (Class<List<Map<String, ? super Object>>>) (Object) List.class, params -> new ArrayList<>(1), // valueOf(null) is false, and we actually do want null (s, p) -> null --- 317,377 ---- (s, p) -> s ); static final StandardBundlerParam<String> PREFERENCES_ID = new StandardBundlerParam<>( "preferencesID", String.class, p -> Optional.ofNullable(IDENTIFIER.fetchFrom(p)). orElse("").replace('.', '/'), (s, p) -> s ); static final StandardBundlerParam<Boolean> VERBOSE = new StandardBundlerParam<>( Arguments.CLIOptions.VERBOSE.getId(), Boolean.class, params -> false, // valueOf(null) is false, and we actually do want null (s, p) -> (s == null || "null".equalsIgnoreCase(s)) ? true : Boolean.valueOf(s) ); static final StandardBundlerParam<File> RESOURCE_DIR = new StandardBundlerParam<>( Arguments.CLIOptions.RESOURCE_DIR.getId(), File.class, params -> null, (s, p) -> new File(s) ); static final BundlerParamInfo<String> INSTALL_DIR = new StandardBundlerParam<>( Arguments.CLIOptions.INSTALL_DIR.getId(), String.class, params -> null, (s, p) -> s ); static final StandardBundlerParam<File> PREDEFINED_APP_IMAGE = new StandardBundlerParam<>( Arguments.CLIOptions.PREDEFINED_APP_IMAGE.getId(), File.class, params -> null, (s, p) -> new File(s)); static final StandardBundlerParam<File> PREDEFINED_RUNTIME_IMAGE = new StandardBundlerParam<>( Arguments.CLIOptions.PREDEFINED_RUNTIME_IMAGE.getId(), File.class, params -> null, (s, p) -> new File(s)); @SuppressWarnings("unchecked") ! static final StandardBundlerParam<List<Map<String, ? super Object>>> ADD_LAUNCHERS = new StandardBundlerParam<>( ! Arguments.CLIOptions.ADD_LAUNCHER.getId(), (Class<List<Map<String, ? super Object>>>) (Object) List.class, params -> new ArrayList<>(1), // valueOf(null) is false, and we actually do want null (s, p) -> null
*** 461,472 **** @SuppressWarnings("unchecked") static final StandardBundlerParam <List<Map<String, ? super Object>>> FILE_ASSOCIATIONS = new StandardBundlerParam<>( - I18N.getString("param.file-associations.name"), - I18N.getString("param.file-associations.description"), Arguments.CLIOptions.FILE_ASSOCIATIONS.getId(), (Class<List<Map<String, ? super Object>>>) (Object) List.class, params -> new ArrayList<>(1), // valueOf(null) is false, and we actually do want null --- 379,388 ----
*** 474,528 **** ); @SuppressWarnings("unchecked") static final StandardBundlerParam<List<String>> FA_EXTENSIONS = new StandardBundlerParam<>( - I18N.getString("param.fa-extension.name"), - I18N.getString("param.fa-extension.description"), "fileAssociation.extension", (Class<List<String>>) (Object) List.class, params -> null, // null means not matched to an extension (s, p) -> Arrays.asList(s.split("(,|\\s)+")) ); @SuppressWarnings("unchecked") static final StandardBundlerParam<List<String>> FA_CONTENT_TYPE = new StandardBundlerParam<>( - I18N.getString("param.fa-content-type.name"), - I18N.getString("param.fa-content-type.description"), "fileAssociation.contentType", (Class<List<String>>) (Object) List.class, params -> null, // null means not matched to a content/mime type (s, p) -> Arrays.asList(s.split("(,|\\s)+")) ); static final StandardBundlerParam<String> FA_DESCRIPTION = new StandardBundlerParam<>( - I18N.getString("param.fa-description.name"), - I18N.getString("param.fa-description.description"), "fileAssociation.description", String.class, params -> APP_NAME.fetchFrom(params) + " File", null ); static final StandardBundlerParam<File> FA_ICON = new StandardBundlerParam<>( - I18N.getString("param.fa-icon.name"), - I18N.getString("param.fa-icon.description"), "fileAssociation.icon", File.class, ICON::fetchFrom, (s, p) -> new File(s) ); @SuppressWarnings("unchecked") static final BundlerParamInfo<List<Path>> MODULE_PATH = new StandardBundlerParam<>( - I18N.getString("param.module-path.name"), - I18N.getString("param.module-path.description"), Arguments.CLIOptions.MODULE_PATH.getId(), (Class<List<Path>>) (Object)List.class, p -> { return getDefaultModulePath(); }, (s, p) -> { List<Path> modulePath = Arrays.asList(s --- 390,434 ----
*** 558,607 **** return modulePath; }); static final BundlerParamInfo<String> MODULE = new StandardBundlerParam<>( - I18N.getString("param.main.module.name"), - I18N.getString("param.main.module.description"), Arguments.CLIOptions.MODULE.getId(), String.class, p -> null, (s, p) -> { return String.valueOf(s); }); @SuppressWarnings("unchecked") static final BundlerParamInfo<Set<String>> ADD_MODULES = new StandardBundlerParam<>( - I18N.getString("param.add-modules.name"), - I18N.getString("param.add-modules.description"), Arguments.CLIOptions.ADD_MODULES.getId(), (Class<Set<String>>) (Object) Set.class, p -> new LinkedHashSet<String>(), (s, p) -> new LinkedHashSet<>(Arrays.asList(s.split(","))) ); @SuppressWarnings("unchecked") static final BundlerParamInfo<Set<String>> LIMIT_MODULES = new StandardBundlerParam<>( - I18N.getString("param.limit-modules.name"), - I18N.getString("param.limit-modules.description"), "limit-modules", (Class<Set<String>>) (Object) Set.class, p -> new LinkedHashSet<String>(), (s, p) -> new LinkedHashSet<>(Arrays.asList(s.split(","))) ); ! static final BundlerParamInfo<Boolean> STRIP_NATIVE_COMMANDS = ! new StandardBundlerParam<>( ! I18N.getString("param.strip-executables.name"), ! I18N.getString("param.strip-executables.description"), ! Arguments.CLIOptions.STRIP_NATIVE_COMMANDS.getId(), ! Boolean.class, ! p -> Boolean.FALSE, ! (s, p) -> Boolean.valueOf(s) ! ); static File getPredefinedAppImage(Map<String, ? super Object> p) { File applicationImage = null; if (PREDEFINED_APP_IMAGE.fetchFrom(p) != null) { applicationImage = PREDEFINED_APP_IMAGE.fetchFrom(p); --- 464,508 ---- return modulePath; }); static final BundlerParamInfo<String> MODULE = new StandardBundlerParam<>( Arguments.CLIOptions.MODULE.getId(), String.class, p -> null, (s, p) -> { return String.valueOf(s); }); @SuppressWarnings("unchecked") static final BundlerParamInfo<Set<String>> ADD_MODULES = new StandardBundlerParam<>( Arguments.CLIOptions.ADD_MODULES.getId(), (Class<Set<String>>) (Object) Set.class, p -> new LinkedHashSet<String>(), (s, p) -> new LinkedHashSet<>(Arrays.asList(s.split(","))) ); @SuppressWarnings("unchecked") static final BundlerParamInfo<Set<String>> LIMIT_MODULES = new StandardBundlerParam<>( "limit-modules", (Class<Set<String>>) (Object) Set.class, p -> new LinkedHashSet<String>(), (s, p) -> new LinkedHashSet<>(Arrays.asList(s.split(","))) ); ! static boolean isRuntimeInstaller(Map<String, ? super Object> p) { ! if (p.containsKey(MODULE.getID()) || ! p.containsKey(MAIN_JAR.getID()) || ! p.containsKey(PREDEFINED_APP_IMAGE.getID())) { ! return false; // we are building or are given an application ! } ! // runtime installer requires --runtime-image, if this is false ! // here then we should have thrown error validating args. ! return p.containsKey(PREDEFINED_RUNTIME_IMAGE.getID()); ! } static File getPredefinedAppImage(Map<String, ? super Object> p) { File applicationImage = null; if (PREDEFINED_APP_IMAGE.fetchFrom(p) != null) { applicationImage = PREDEFINED_APP_IMAGE.fetchFrom(p);
*** 658,672 **** Map<String, ? super Object> params) { boolean hasMainClass = params.containsKey(MAIN_CLASS.getID()); boolean hasMainJar = params.containsKey(MAIN_JAR.getID()); boolean hasMainJarClassPath = params.containsKey(CLASSPATH.getID()); boolean hasModule = params.containsKey(MODULE.getID()); - boolean runtimeInstaller = - params.containsKey(RUNTIME_INSTALLER.getID()); if (hasMainClass && hasMainJar && hasMainJarClassPath || hasModule || ! runtimeInstaller) { return; } // it's a pair. // The [0] is the srcdir [1] is the file relative to sourcedir --- 559,571 ---- Map<String, ? super Object> params) { boolean hasMainClass = params.containsKey(MAIN_CLASS.getID()); boolean hasMainJar = params.containsKey(MAIN_JAR.getID()); boolean hasMainJarClassPath = params.containsKey(CLASSPATH.getID()); boolean hasModule = params.containsKey(MODULE.getID()); if (hasMainClass && hasMainJar && hasMainJarClassPath || hasModule || ! isRuntimeInstaller(params)) { return; } // it's a pair. // The [0] is the srcdir [1] is the file relative to sourcedir
*** 746,760 **** boolean hasMainClass = params.containsKey(MAIN_CLASS.getID()); boolean hasMainJar = params.containsKey(MAIN_JAR.getID()); boolean hasMainJarClassPath = params.containsKey(CLASSPATH.getID()); boolean hasModule = params.containsKey(MODULE.getID()); boolean hasAppImage = params.containsKey(PREDEFINED_APP_IMAGE.getID()); - boolean runtimeInstaller = - params.containsKey(RUNTIME_INSTALLER.getID()); if (hasMainClass && hasMainJar && hasMainJarClassPath || ! hasModule || runtimeInstaller || hasAppImage) { return; } extractMainClassInfoFromAppResources(params); --- 645,657 ---- boolean hasMainClass = params.containsKey(MAIN_CLASS.getID()); boolean hasMainJar = params.containsKey(MAIN_JAR.getID()); boolean hasMainJarClassPath = params.containsKey(CLASSPATH.getID()); boolean hasModule = params.containsKey(MODULE.getID()); boolean hasAppImage = params.containsKey(PREDEFINED_APP_IMAGE.getID()); if (hasMainClass && hasMainJar && hasMainJarClassPath || ! hasModule || hasAppImage || isRuntimeInstaller(params)) { return; } extractMainClassInfoFromAppResources(params);
*** 773,783 **** I18N.getString("error.no-main-class.advice")); } } } - private static List<String> splitStringWithEscapes(String s) { List<String> l = new ArrayList<>(); StringBuilder current = new StringBuilder(); boolean quoted = false; boolean escaped = false; --- 670,679 ----
< prev index next >