src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacPkgBundler.java
branchJDK-8200758-branch
changeset 58647 2c43b89b1679
parent 58584 910b14f4fe3a
child 58696 61c44899b4eb
--- a/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacPkgBundler.java	Tue Oct 15 14:00:04 2019 -0400
+++ b/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacPkgBundler.java	Wed Oct 16 09:57:23 2019 -0400
@@ -50,6 +50,7 @@
 import static jdk.jpackage.internal.MacBaseInstallerBundler.SIGNING_KEYCHAIN;
 import static jdk.jpackage.internal.MacBaseInstallerBundler.SIGNING_KEY_USER;
 import static jdk.jpackage.internal.MacAppImageBuilder.MAC_CF_BUNDLE_IDENTIFIER;
+import static jdk.jpackage.internal.OverridableResource.createResource;
 
 public class MacPkgBundler extends MacBaseInstallerBundler {
 
@@ -100,8 +101,7 @@
                             SIGNING_KEYCHAIN.fetchFrom(params),
                             VERBOSE.fetchFrom(params));
                     if (result != null) {
-                        MacCertificate certificate = new MacCertificate(
-                                result, VERBOSE.fetchFrom(params));
+                        MacCertificate certificate = new MacCertificate(result);
 
                         if (!certificate.isValid()) {
                             Log.error(MessageFormat.format(
@@ -206,30 +206,16 @@
         data.put("INSTALL_LOCATION", MAC_INSTALL_DIR.fetchFrom(params));
         data.put("APP_LOCATION", appLocation.toString());
 
-        try (Writer w = Files.newBufferedWriter(
-                getScripts_PreinstallFile(params).toPath())) {
-            String content = preprocessTextResource(
-                    getScripts_PreinstallFile(params).getName(),
-                    I18N.getString("resource.pkg-preinstall-script"),
-                    TEMPLATE_PREINSTALL_SCRIPT,
-                    data,
-                    VERBOSE.fetchFrom(params),
-                    RESOURCE_DIR.fetchFrom(params));
-            w.write(content);
-        }
+        createResource(TEMPLATE_PREINSTALL_SCRIPT, params)
+                .setCategory(I18N.getString("resource.pkg-preinstall-script"))
+                .setSubstitutionData(data)
+                .saveToFile(getScripts_PreinstallFile(params));
         getScripts_PreinstallFile(params).setExecutable(true, false);
 
-        try (Writer w = Files.newBufferedWriter(
-                getScripts_PostinstallFile(params).toPath())) {
-            String content = preprocessTextResource(
-                    getScripts_PostinstallFile(params).getName(),
-                    I18N.getString("resource.pkg-postinstall-script"),
-                    TEMPLATE_POSTINSTALL_SCRIPT,
-                    data,
-                    VERBOSE.fetchFrom(params),
-                    RESOURCE_DIR.fetchFrom(params));
-            w.write(content);
-        }
+        createResource(TEMPLATE_POSTINSTALL_SCRIPT, params)
+                .setCategory(I18N.getString("resource.pkg-postinstall-script"))
+                .setSubstitutionData(data)
+                .saveToFile(getScripts_PostinstallFile(params));
         getScripts_PostinstallFile(params).setExecutable(true, false);
     }
 
@@ -335,30 +321,20 @@
 
     private boolean prepareConfigFiles(Map<String, ? super Object> params)
             throws IOException, URISyntaxException {
-        File imageTarget = getConfig_BackgroundImage(params);
-        fetchResource(imageTarget.getName(),
-                I18N.getString("resource.pkg-background-image"),
-                DEFAULT_BACKGROUND_IMAGE,
-                imageTarget,
-                VERBOSE.fetchFrom(params),
-                RESOURCE_DIR.fetchFrom(params));
 
-        imageTarget = getConfig_BackgroundImageDarkAqua(params);
-        fetchResource(imageTarget.getName(),
-                I18N.getString("resource.pkg-background-image"),
-                DEFAULT_BACKGROUND_IMAGE,
-                imageTarget,
-                VERBOSE.fetchFrom(params),
-                RESOURCE_DIR.fetchFrom(params));
+        createResource(DEFAULT_BACKGROUND_IMAGE, params)
+                .setCategory(I18N.getString("resource.pkg-background-image"))
+                .saveToFile(getConfig_BackgroundImage(params));
+
+        createResource(DEFAULT_BACKGROUND_IMAGE, params)
+                .setCategory(I18N.getString("resource.pkg-background-image"))
+                .saveToFile(getConfig_BackgroundImageDarkAqua(params));
 
         prepareDistributionXMLFile(params);
 
-        fetchResource(getConfig_Script(params).getName(),
-                I18N.getString("resource.post-install-script"),
-                (String) null,
-                getConfig_Script(params),
-                VERBOSE.fetchFrom(params),
-                RESOURCE_DIR.fetchFrom(params));
+        createResource(null, params)
+                .setCategory(I18N.getString("resource.post-install-script"))
+                .saveToFile(getConfig_Script(params));
 
         return true;
     }