< prev index next >

src/jdk.incubator.jpackage/linux/classes/jdk/incubator/jpackage/internal/LinuxAppBundler.java

Print this page

        

*** 21,50 **** * 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; import java.io.File; - import java.io.IOException; - import java.net.MalformedURLException; - import java.net.URL; import java.text.MessageFormat; ! import java.util.Arrays; ! import java.util.Collection; ! import java.util.Map; ! import java.util.ResourceBundle; ! import static jdk.jpackage.internal.StandardBundlerParam.*; public class LinuxAppBundler extends AbstractImageBundler { ! private static final ResourceBundle I18N = ResourceBundle.getBundle( ! "jdk.jpackage.internal.resources.LinuxResources"); ! ! public static final BundlerParamInfo<File> ICON_PNG = new StandardBundlerParam<>( "icon.png", File.class, params -> { File f = ICON.fetchFrom(params); --- 21,41 ---- * 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.incubator.jpackage.internal; import java.io.File; import java.text.MessageFormat; ! import java.util.*; ! import static jdk.incubator.jpackage.internal.StandardBundlerParam.*; public class LinuxAppBundler extends AbstractImageBundler { ! static final BundlerParamInfo<File> ICON_PNG = new StandardBundlerParam<>( "icon.png", File.class, params -> { File f = ICON.fetchFrom(params);
*** 55,65 **** } return f; }, (s, p) -> new File(s)); ! public static final BundlerParamInfo<String> LINUX_INSTALL_DIR = new StandardBundlerParam<>( "linux-install-dir", String.class, params -> { String dir = INSTALL_DIR.fetchFrom(params); --- 46,56 ---- } return f; }, (s, p) -> new File(s)); ! static final BundlerParamInfo<String> LINUX_INSTALL_DIR = new StandardBundlerParam<>( "linux-install-dir", String.class, params -> { String dir = INSTALL_DIR.fetchFrom(params);
*** 72,150 **** return "/opt"; }, (s, p) -> s ); ! public static final BundlerParamInfo<String> LINUX_PACKAGE_DEPENDENCIES = new StandardBundlerParam<>( Arguments.CLIOptions.LINUX_PACKAGE_DEPENDENCIES.getId(), String.class, params -> { return ""; }, (s, p) -> s ); @Override ! public boolean validate(Map<String, ? super Object> p) ! throws UnsupportedPlatformException, ConfigException { try { ! if (p == null) throw new ConfigException( ! I18N.getString("error.parameters-null"), ! I18N.getString("error.parameters-null.advice")); ! ! return doValidate(p); } catch (RuntimeException re) { if (re.getCause() instanceof ConfigException) { throw (ConfigException) re.getCause(); } else { throw new ConfigException(re); } } } ! private boolean doValidate(Map<String, ? super Object> p) ! throws UnsupportedPlatformException, ConfigException { ! if (Platform.getPlatform() != Platform.LINUX) { ! throw new UnsupportedPlatformException(); ! } ! imageBundleValidation(p); return true; } ! // it is static for the sake of sharing with "installer" bundlers ! // that may skip calls to validate/bundle in this class! ! public static File getRootDir(File outDir, Map<String, ? super Object> p) { ! return new File(outDir, APP_NAME.fetchFrom(p)); ! } ! ! public static String getLauncherCfgName(Map<String, ? super Object> p) { ! return "app/" + APP_NAME.fetchFrom(p) +".cfg"; ! } ! ! File doBundle(Map<String, ? super Object> p, File outputDirectory, boolean dependentTask) throws PackagerException { ! if (StandardBundlerParam.isRuntimeInstaller(p)) { ! return PREDEFINED_RUNTIME_IMAGE.fetchFrom(p); } else { ! return doAppBundle(p, outputDirectory, dependentTask); } } ! private File doAppBundle(Map<String, ? super Object> p, ! File outputDirectory, boolean dependentTask) throws PackagerException { try { ! File rootDirectory = createRoot(p, outputDirectory, dependentTask, ! APP_NAME.fetchFrom(p)); ! AbstractAppImageBuilder appBuilder = new LinuxAppImageBuilder(p, ! outputDirectory.toPath()); ! if (PREDEFINED_RUNTIME_IMAGE.fetchFrom(p) == null ) { ! JLinkBundlerHelper.execute(p, appBuilder); } else { ! StandardBundlerParam.copyPredefinedRuntimeImage(p, appBuilder); } return rootDirectory; } catch (PackagerException pe) { throw pe; } catch (Exception ex) { --- 63,127 ---- return "/opt"; }, (s, p) -> s ); ! static final BundlerParamInfo<String> LINUX_PACKAGE_DEPENDENCIES = new StandardBundlerParam<>( Arguments.CLIOptions.LINUX_PACKAGE_DEPENDENCIES.getId(), String.class, params -> { return ""; }, (s, p) -> s ); @Override ! public boolean validate(Map<String, ? super Object> params) ! throws ConfigException { try { ! Objects.requireNonNull(params); ! return doValidate(params); } catch (RuntimeException re) { if (re.getCause() instanceof ConfigException) { throw (ConfigException) re.getCause(); } else { throw new ConfigException(re); } } } ! private boolean doValidate(Map<String, ? super Object> params) ! throws ConfigException { ! imageBundleValidation(params); return true; } ! File doBundle(Map<String, ? super Object> params, File outputDirectory, boolean dependentTask) throws PackagerException { ! if (StandardBundlerParam.isRuntimeInstaller(params)) { ! return PREDEFINED_RUNTIME_IMAGE.fetchFrom(params); } else { ! return doAppBundle(params, outputDirectory, dependentTask); } } ! private File doAppBundle(Map<String, ? super Object> params, ! File outputDirectory, boolean dependentTask) ! throws PackagerException { try { ! File rootDirectory = createRoot(params, outputDirectory, ! dependentTask, APP_NAME.fetchFrom(params)); ! AbstractAppImageBuilder appBuilder = new LinuxAppImageBuilder( ! params, outputDirectory.toPath()); ! if (PREDEFINED_RUNTIME_IMAGE.fetchFrom(params) == null ) { ! JLinkBundlerHelper.execute(params, appBuilder); } else { ! StandardBundlerParam.copyPredefinedRuntimeImage( ! params, appBuilder); } return rootDirectory; } catch (PackagerException pe) { throw pe; } catch (Exception ex) {
*** 157,205 **** public String getName() { return I18N.getString("app.bundler.name"); } @Override - public String getDescription() { - return I18N.getString("app.bundler.description"); - } - - @Override public String getID() { return "linux.app"; } @Override public String getBundleType() { return "IMAGE"; } @Override - public Collection<BundlerParamInfo<?>> getBundleParameters() { - return getAppBundleParameters(); - } - - public static Collection<BundlerParamInfo<?>> getAppBundleParameters() { - return Arrays.asList( - APP_NAME, - APP_RESOURCES, - ARGUMENTS, - CLASSPATH, - JAVA_OPTIONS, - MAIN_CLASS, - MAIN_JAR, - VERSION, - VERBOSE - ); - } - - @Override public File execute(Map<String, ? super Object> params, File outputParentDir) throws PackagerException { return doBundle(params, outputParentDir, false); } @Override public boolean supported(boolean runtimeInstaller) { ! return (Platform.getPlatform() == Platform.LINUX); } } --- 134,164 ---- public String getName() { return I18N.getString("app.bundler.name"); } @Override public String getID() { return "linux.app"; } @Override public String getBundleType() { return "IMAGE"; } @Override public File execute(Map<String, ? super Object> params, File outputParentDir) throws PackagerException { return doBundle(params, outputParentDir, false); } @Override public boolean supported(boolean runtimeInstaller) { ! return true; } + + @Override + public boolean isDefault() { + return false; + } + }
< prev index next >