306 307 Path executable = macOSDir.resolve(getLauncherName(params)); 308 309 // create the main app launcher 310 try (InputStream is_launcher = 311 getResourceAsStream("jpackageapplauncher"); 312 InputStream is_lib = getResourceAsStream(LIBRARY_NAME)) { 313 // Copy executable and library to MacOS folder 314 writeEntry(is_launcher, executable); 315 writeEntry(is_lib, macOSDir.resolve(LIBRARY_NAME)); 316 } 317 executable.toFile().setExecutable(true, false); 318 // generate main app launcher config file 319 File cfg = new File(root.toFile(), getLauncherCfgName(params)); 320 writeCfgFile(params, cfg, "$APPDIR/PlugIns/Java.runtime"); 321 322 // create additional app launcher(s) and config file(s) 323 List<Map<String, ? super Object>> entryPoints = 324 StandardBundlerParam.ADD_LAUNCHERS.fetchFrom(params); 325 for (Map<String, ? super Object> entryPoint : entryPoints) { 326 Map<String, ? super Object> tmp = new HashMap<>(originalParams); 327 tmp.putAll(entryPoint); 328 329 // add executable for add launcher 330 Path addExecutable = macOSDir.resolve(getLauncherName(tmp)); 331 try (InputStream is = getResourceAsStream("jpackageapplauncher");) { 332 writeEntry(is, addExecutable); 333 } 334 addExecutable.toFile().setExecutable(true, false); 335 336 // add config file for add launcher 337 cfg = new File(root.toFile(), getLauncherCfgName(tmp)); 338 writeCfgFile(tmp, cfg, "$APPDIR/PlugIns/Java.runtime"); 339 } 340 341 // Copy class path entries to Java folder 342 copyClassPathEntries(javaDir); 343 344 /*********** Take care of "config" files *******/ 345 File icon = ICON_ICNS.fetchFrom(params); 346 347 InputStream in = locateResource( | 306 307 Path executable = macOSDir.resolve(getLauncherName(params)); 308 309 // create the main app launcher 310 try (InputStream is_launcher = 311 getResourceAsStream("jpackageapplauncher"); 312 InputStream is_lib = getResourceAsStream(LIBRARY_NAME)) { 313 // Copy executable and library to MacOS folder 314 writeEntry(is_launcher, executable); 315 writeEntry(is_lib, macOSDir.resolve(LIBRARY_NAME)); 316 } 317 executable.toFile().setExecutable(true, false); 318 // generate main app launcher config file 319 File cfg = new File(root.toFile(), getLauncherCfgName(params)); 320 writeCfgFile(params, cfg, "$APPDIR/PlugIns/Java.runtime"); 321 322 // create additional app launcher(s) and config file(s) 323 List<Map<String, ? super Object>> entryPoints = 324 StandardBundlerParam.ADD_LAUNCHERS.fetchFrom(params); 325 for (Map<String, ? super Object> entryPoint : entryPoints) { 326 Map<String, ? super Object> tmp = 327 AddLauncherArguments.merge(originalParams, entryPoint); 328 329 // add executable for add launcher 330 Path addExecutable = macOSDir.resolve(getLauncherName(tmp)); 331 try (InputStream is = getResourceAsStream("jpackageapplauncher");) { 332 writeEntry(is, addExecutable); 333 } 334 addExecutable.toFile().setExecutable(true, false); 335 336 // add config file for add launcher 337 cfg = new File(root.toFile(), getLauncherCfgName(tmp)); 338 writeCfgFile(tmp, cfg, "$APPDIR/PlugIns/Java.runtime"); 339 } 340 341 // Copy class path entries to Java folder 342 copyClassPathEntries(javaDir); 343 344 /*********** Take care of "config" files *******/ 345 File icon = ICON_ICNS.fetchFrom(params); 346 347 InputStream in = locateResource( |