118 "message.app-image-dir-does-not-exist.advice"), 119 PREDEFINED_APP_IMAGE.getID())); 120 } 121 if (APP_NAME.fetchFrom(params) == null) { 122 throw new ConfigException( 123 I18N.getString("message.app-image-requires-app-name"), 124 I18N.getString( 125 "message.app-image-requires-app-name.advice")); 126 } 127 if (IDENTIFIER.fetchFrom(params) == null) { 128 throw new ConfigException( 129 I18N.getString("message.app-image-requires-identifier"), 130 I18N.getString( 131 "message.app-image-requires-identifier.advice")); 132 } 133 } else { 134 APP_BUNDLER.fetchFrom(params).validate(params); 135 } 136 } 137 138 protected File prepareAppBundle(Map<String, ? super Object> p, 139 boolean pkg) throws PackagerException { 140 File predefinedImage = StandardBundlerParam.getPredefinedAppImage(p); 141 if (predefinedImage != null) { 142 return predefinedImage; 143 } 144 File appImageRoot = APP_IMAGE_TEMP_ROOT.fetchFrom(p); 145 if (pkg) { 146 // create pkg in dmg 147 return new MacPkgBundler().bundle(p, appImageRoot); 148 } else { 149 return APP_BUNDLER.fetchFrom(p).doBundle(p, appImageRoot, true); 150 } 151 } 152 153 @Override 154 public Collection<BundlerParamInfo<?>> getBundleParameters() { 155 Collection<BundlerParamInfo<?>> results = new LinkedHashSet<>(); 156 157 results.addAll(MacAppBundler.getAppBundleParameters()); 158 results.addAll(Arrays.asList( 159 APP_BUNDLER, 160 CONFIG_ROOT, 161 APP_IMAGE_TEMP_ROOT, 162 PREDEFINED_APP_IMAGE 163 )); 164 165 return results; 166 } 167 168 @Override 169 public String getBundleType() { | 118 "message.app-image-dir-does-not-exist.advice"), 119 PREDEFINED_APP_IMAGE.getID())); 120 } 121 if (APP_NAME.fetchFrom(params) == null) { 122 throw new ConfigException( 123 I18N.getString("message.app-image-requires-app-name"), 124 I18N.getString( 125 "message.app-image-requires-app-name.advice")); 126 } 127 if (IDENTIFIER.fetchFrom(params) == null) { 128 throw new ConfigException( 129 I18N.getString("message.app-image-requires-identifier"), 130 I18N.getString( 131 "message.app-image-requires-identifier.advice")); 132 } 133 } else { 134 APP_BUNDLER.fetchFrom(params).validate(params); 135 } 136 } 137 138 protected File prepareAppBundle(Map<String, ? super Object> params, 139 boolean pkg) throws PackagerException { 140 File predefinedImage = 141 StandardBundlerParam.getPredefinedAppImage(params); 142 if (predefinedImage != null) { 143 return predefinedImage; 144 } 145 File appImageRoot = APP_IMAGE_TEMP_ROOT.fetchFrom(params); 146 if (pkg) { 147 // create pkg in dmg 148 return new MacPkgBundler().bundle(params, appImageRoot); 149 } else { 150 return APP_BUNDLER.fetchFrom(params).doBundle( 151 params, appImageRoot, true); 152 } 153 } 154 155 @Override 156 public Collection<BundlerParamInfo<?>> getBundleParameters() { 157 Collection<BundlerParamInfo<?>> results = new LinkedHashSet<>(); 158 159 results.addAll(MacAppBundler.getAppBundleParameters()); 160 results.addAll(Arrays.asList( 161 APP_BUNDLER, 162 CONFIG_ROOT, 163 APP_IMAGE_TEMP_ROOT, 164 PREDEFINED_APP_IMAGE 165 )); 166 167 return results; 168 } 169 170 @Override 171 public String getBundleType() { |