public class MacAppBundler extends AbstractImageBundler
Modifier and Type | Field and Description |
---|---|
static BundlerParamInfo<java.lang.String> |
BUNDLE_ID_SIGNING_PREFIX |
static BundlerParamInfo<java.io.File> |
CONFIG_ROOT |
static BundlerParamInfo<java.lang.String> |
DEFAULT_ICNS_ICON |
static BundlerParamInfo<java.lang.String> |
DEVELOPER_ID_APP_SIGNING_KEY |
private static java.lang.String |
EXECUTABLE_NAME |
private static java.util.ResourceBundle |
I18N |
static BundlerParamInfo<java.io.File> |
ICON_ICNS |
private static java.lang.String |
LIBRARY_NAME |
static java.lang.String |
MAC_BUNDLER_PREFIX |
static EnumeratedBundlerParam<java.lang.String> |
MAC_CATEGORY |
static BundlerParamInfo<java.lang.String> |
MAC_CF_BUNDLE_IDENTIFIER |
static BundlerParamInfo<java.lang.String> |
MAC_CF_BUNDLE_NAME |
static BundlerParamInfo<java.lang.String> |
MAC_CF_BUNDLE_VERSION |
static BundlerParamInfo<java.lang.Boolean> |
MAC_CONFIGURE_LAUNCHER_IN_PLIST |
static BundlerParamInfo<JreUtils.Rule[]> |
MAC_RULES |
static BundlerParamInfo<RelativeFileSet> |
MAC_RUNTIME |
private static java.lang.String |
OS_TYPE_CODE |
static BundlerParamInfo<java.net.URL> |
RAW_EXECUTABLE_URL |
private static java.lang.String |
TEMPLATE_BUNDLE_ICON |
private static java.lang.String |
TEMPLATE_INFO_PLIST_LEGACY |
private static java.lang.String |
TEMPLATE_INFO_PLIST_LITE |
CFG_FORMAT_INI, CFG_FORMAT_PROPERTIES, LAUNCHER_CFG_FORMAT
baseResourceLoader, BUNDLER_PREFIX, IMAGES_ROOT
Constructor and Description |
---|
MacAppBundler() |
Modifier and Type | Method and Description |
---|---|
void |
cleanupConfigFiles(java.util.Map<java.lang.String,? super java.lang.Object> params) |
private void |
copyClassPathEntries(java.io.File javaDirectory,
java.util.Map<java.lang.String,? super java.lang.Object> params) |
private void |
copyRuntime(java.io.File plugInsDirectory,
java.util.Map<java.lang.String,? super java.lang.Object> params) |
private void |
createLauncherForEntryPoint(java.util.Map<java.lang.String,? super java.lang.Object> p,
java.io.File rootDirectory) |
static JreUtils.Rule[] |
createMacRuntimeRules(java.util.Map<java.lang.String,? super java.lang.Object> params) |
java.io.File |
doBundle(java.util.Map<java.lang.String,? super java.lang.Object> p,
java.io.File outputDirectory,
boolean dependentTask) |
boolean |
doValidate(java.util.Map<java.lang.String,? super java.lang.Object> p) |
java.io.File |
execute(java.util.Map<java.lang.String,? super java.lang.Object> params,
java.io.File outputParentDir)
Creates a bundle from existing content.
|
static RelativeFileSet |
extractMacRuntime(java.lang.String base,
java.util.Map<java.lang.String,? super java.lang.Object> params) |
void |
extractRuntimeFlags(java.util.Map<java.lang.String,? super java.lang.Object> params) |
static java.util.Collection<BundlerParamInfo<?>> |
getAppBundleParameters() |
private java.lang.String |
getBundleName(java.util.Map<java.lang.String,? super java.lang.Object> params) |
java.util.Collection<BundlerParamInfo<?>> |
getBundleParameters()
The parameters that this bundler uses to generate it's bundle.
|
java.lang.String |
getBundleType() |
protected java.lang.String |
getCacheLocation(java.util.Map<java.lang.String,? super java.lang.Object> params) |
private java.io.File |
getConfig_Icon(java.util.Map<java.lang.String,? super java.lang.Object> params) |
private java.io.File |
getConfig_InfoPlist(java.util.Map<java.lang.String,? super java.lang.Object> params) |
java.lang.String |
getDescription() |
java.lang.String |
getID() |
static java.lang.String |
getLauncherCfgName(java.util.Map<java.lang.String,? super java.lang.Object> p) |
private java.lang.String |
getLauncherName(java.util.Map<java.lang.String,? super java.lang.Object> params) |
private static java.util.Map<java.lang.String,java.lang.String> |
getMacCategories() |
java.lang.String |
getName() |
private java.lang.String |
getRuntimeLocation(java.util.Map<java.lang.String,? super java.lang.Object> params) |
private void |
prepareConfigFiles(java.util.Map<java.lang.String,? super java.lang.Object> params) |
private void |
prepareIcon(java.util.Map<java.lang.String,? super java.lang.Object> params) |
boolean |
validate(java.util.Map<java.lang.String,? super java.lang.Object> params)
Determines if this bundler will execute with the given parameters.
|
static boolean |
validCFBundleVersion(java.lang.String v) |
private void |
writeCfgFile(java.util.Map<java.lang.String,? super java.lang.Object> params,
java.io.File rootDir) |
private void |
writeInfoPlist(java.io.File file,
java.util.Map<java.lang.String,? super java.lang.Object> params) |
private void |
writePkgInfo(java.io.File file) |
extractFlagsFromVersion, imageBundleValidation, testRuntime, writeCfgFile
fetchResource, fetchResource, preprocessTextResource, toString
private static final java.util.ResourceBundle I18N
public static final java.lang.String MAC_BUNDLER_PREFIX
private static final java.lang.String EXECUTABLE_NAME
private static final java.lang.String LIBRARY_NAME
private static final java.lang.String TEMPLATE_BUNDLE_ICON
private static final java.lang.String OS_TYPE_CODE
private static final java.lang.String TEMPLATE_INFO_PLIST_LEGACY
private static final java.lang.String TEMPLATE_INFO_PLIST_LITE
public static final BundlerParamInfo<java.lang.Boolean> MAC_CONFIGURE_LAUNCHER_IN_PLIST
public static final EnumeratedBundlerParam<java.lang.String> MAC_CATEGORY
public static final BundlerParamInfo<java.lang.String> MAC_CF_BUNDLE_NAME
public static final BundlerParamInfo<java.lang.String> MAC_CF_BUNDLE_IDENTIFIER
public static final BundlerParamInfo<java.lang.String> MAC_CF_BUNDLE_VERSION
public static final BundlerParamInfo<java.io.File> CONFIG_ROOT
public static final BundlerParamInfo<java.net.URL> RAW_EXECUTABLE_URL
public static final BundlerParamInfo<java.lang.String> DEFAULT_ICNS_ICON
public static final BundlerParamInfo<JreUtils.Rule[]> MAC_RULES
public static final BundlerParamInfo<RelativeFileSet> MAC_RUNTIME
public static final BundlerParamInfo<java.lang.String> DEVELOPER_ID_APP_SIGNING_KEY
public static final BundlerParamInfo<java.lang.String> BUNDLE_ID_SIGNING_PREFIX
public static final BundlerParamInfo<java.io.File> ICON_ICNS
private static java.util.Map<java.lang.String,java.lang.String> getMacCategories()
public static RelativeFileSet extractMacRuntime(java.lang.String base, java.util.Map<java.lang.String,? super java.lang.Object> params)
protected java.lang.String getCacheLocation(java.util.Map<java.lang.String,? super java.lang.Object> params)
getCacheLocation
in class AbstractImageBundler
public static boolean validCFBundleVersion(java.lang.String v)
public boolean validate(java.util.Map<java.lang.String,? super java.lang.Object> params) throws UnsupportedPlatformException, ConfigException
Bundler
params
- The parameters to be validate. Validation may modify
the map, so if you are going to be using the same map
across multiple bundlers you should pass in a deep copy.UnsupportedPlatformException
- If the bundler cannot run on this
platform (i.e. creating mac apps on windows)ConfigException
- If the configuration params are incorrect. The
exception may contain advice on how to modify the params map
to make it valid.public boolean doValidate(java.util.Map<java.lang.String,? super java.lang.Object> p) throws UnsupportedPlatformException, ConfigException
private java.io.File getConfig_InfoPlist(java.util.Map<java.lang.String,? super java.lang.Object> params)
private java.io.File getConfig_Icon(java.util.Map<java.lang.String,? super java.lang.Object> params)
private void prepareConfigFiles(java.util.Map<java.lang.String,? super java.lang.Object> params) throws java.io.IOException
java.io.IOException
public java.io.File doBundle(java.util.Map<java.lang.String,? super java.lang.Object> p, java.io.File outputDirectory, boolean dependentTask)
public void cleanupConfigFiles(java.util.Map<java.lang.String,? super java.lang.Object> params)
private void copyClassPathEntries(java.io.File javaDirectory, java.util.Map<java.lang.String,? super java.lang.Object> params) throws java.io.IOException
java.io.IOException
private void copyRuntime(java.io.File plugInsDirectory, java.util.Map<java.lang.String,? super java.lang.Object> params) throws java.io.IOException
java.io.IOException
private void prepareIcon(java.util.Map<java.lang.String,? super java.lang.Object> params) throws java.io.IOException
java.io.IOException
private java.lang.String getLauncherName(java.util.Map<java.lang.String,? super java.lang.Object> params)
private java.lang.String getBundleName(java.util.Map<java.lang.String,? super java.lang.Object> params)
private java.lang.String getRuntimeLocation(java.util.Map<java.lang.String,? super java.lang.Object> params)
private void writeInfoPlist(java.io.File file, java.util.Map<java.lang.String,? super java.lang.Object> params) throws java.io.IOException
java.io.IOException
private void writePkgInfo(java.io.File file) throws java.io.IOException
java.io.IOException
public static JreUtils.Rule[] createMacRuntimeRules(java.util.Map<java.lang.String,? super java.lang.Object> params)
public java.lang.String getName()
public java.lang.String getDescription()
public java.lang.String getID()
public java.lang.String getBundleType()
public java.util.Collection<BundlerParamInfo<?>> getBundleParameters()
Bundler
public static java.util.Collection<BundlerParamInfo<?>> getAppBundleParameters()
public java.io.File execute(java.util.Map<java.lang.String,? super java.lang.Object> params, java.io.File outputParentDir)
Bundler
Bundler.validate(java.util.Map)
date} returns true with the
parameters map, then you can expect a valid output. However if an exception
was thrown out of validate or it returned false then you should not
expect sensible results from this call. It may or may not return a value,
and it may or may not throw an exception. But any output should not
be considered valid or sane.params
- The parameters as specified by getBundleParameters.
Keyed by the id from the ParamInfo. Execution may
modify the map, so if you are going to be using the
same map across multiple bundlers you should pass
in a deep copy.outputParentDir
- The parent dir that the returned bundle will be placed in.private void createLauncherForEntryPoint(java.util.Map<java.lang.String,? super java.lang.Object> p, java.io.File rootDirectory) throws java.io.IOException
java.io.IOException
public static java.lang.String getLauncherCfgName(java.util.Map<java.lang.String,? super java.lang.Object> p)
private void writeCfgFile(java.util.Map<java.lang.String,? super java.lang.Object> params, java.io.File rootDir) throws java.io.FileNotFoundException
java.io.FileNotFoundException
public void extractRuntimeFlags(java.util.Map<java.lang.String,? super java.lang.Object> params)
extractRuntimeFlags
in class AbstractImageBundler