148 Log.verbose(MessageFormat.format(I18N.getString( 149 "message.running-script"), 150 configScript.getAbsolutePath())); 151 IOUtils.run("bash", configScript); 152 } 153 154 return createPKG(params, outdir, appImageDir); 155 } 156 return null; 157 } catch (IOException ex) { 158 Log.verbose(ex); 159 throw new PackagerException(ex); 160 } 161 } 162 163 private File getPackages_AppPackage(Map<String, ? super Object> params) { 164 return new File(PACKAGES_ROOT.fetchFrom(params), 165 APP_NAME.fetchFrom(params) + "-app.pkg"); 166 } 167 168 private File getPackages_DaemonPackage(Map<String, ? super Object> params) { 169 return new File(PACKAGES_ROOT.fetchFrom(params), 170 APP_NAME.fetchFrom(params) + "-daemon.pkg"); 171 } 172 173 private File getConfig_DistributionXMLFile( 174 Map<String, ? super Object> params) { 175 return new File(CONFIG_ROOT.fetchFrom(params), "distribution.dist"); 176 } 177 178 private File getConfig_BackgroundImage(Map<String, ? super Object> params) { 179 return new File(CONFIG_ROOT.fetchFrom(params), 180 APP_NAME.fetchFrom(params) + "-background.png"); 181 } 182 183 private File getScripts_PreinstallFile(Map<String, ? super Object> params) { 184 return new File(SCRIPTS_DIR.fetchFrom(params), "preinstall"); 185 } 186 187 private File getScripts_PostinstallFile( 188 Map<String, ? super Object> params) { 189 return new File(SCRIPTS_DIR.fetchFrom(params), "postinstall"); 190 } 191 192 private String getAppIdentifier(Map<String, ? super Object> params) { 193 return IDENTIFIER.fetchFrom(params); 194 } 195 196 private String getDaemonIdentifier(Map<String, ? super Object> params) { 197 return IDENTIFIER.fetchFrom(params) + ".daemon"; 198 } 199 200 private void preparePackageScripts(Map<String, ? super Object> params) 201 throws IOException { 202 Log.verbose(I18N.getString("message.preparing-scripts")); 203 204 Map<String, String> data = new HashMap<>(); 205 206 data.put("INSTALL_LOCATION", MAC_INSTALL_DIR.fetchFrom(params)); 207 208 try (Writer w = Files.newBufferedWriter( 209 getScripts_PreinstallFile(params).toPath())) { 210 String content = preprocessTextResource( 211 getScripts_PreinstallFile(params).getName(), 212 I18N.getString("resource.pkg-preinstall-script"), 213 TEMPLATE_PREINSTALL_SCRIPT, 214 data, 215 VERBOSE.fetchFrom(params), 216 RESOURCE_DIR.fetchFrom(params)); 217 w.write(content); | 148 Log.verbose(MessageFormat.format(I18N.getString( 149 "message.running-script"), 150 configScript.getAbsolutePath())); 151 IOUtils.run("bash", configScript); 152 } 153 154 return createPKG(params, outdir, appImageDir); 155 } 156 return null; 157 } catch (IOException ex) { 158 Log.verbose(ex); 159 throw new PackagerException(ex); 160 } 161 } 162 163 private File getPackages_AppPackage(Map<String, ? super Object> params) { 164 return new File(PACKAGES_ROOT.fetchFrom(params), 165 APP_NAME.fetchFrom(params) + "-app.pkg"); 166 } 167 168 private File getConfig_DistributionXMLFile( 169 Map<String, ? super Object> params) { 170 return new File(CONFIG_ROOT.fetchFrom(params), "distribution.dist"); 171 } 172 173 private File getConfig_BackgroundImage(Map<String, ? super Object> params) { 174 return new File(CONFIG_ROOT.fetchFrom(params), 175 APP_NAME.fetchFrom(params) + "-background.png"); 176 } 177 178 private File getScripts_PreinstallFile(Map<String, ? super Object> params) { 179 return new File(SCRIPTS_DIR.fetchFrom(params), "preinstall"); 180 } 181 182 private File getScripts_PostinstallFile( 183 Map<String, ? super Object> params) { 184 return new File(SCRIPTS_DIR.fetchFrom(params), "postinstall"); 185 } 186 187 private String getAppIdentifier(Map<String, ? super Object> params) { 188 return IDENTIFIER.fetchFrom(params); 189 } 190 191 private void preparePackageScripts(Map<String, ? super Object> params) 192 throws IOException { 193 Log.verbose(I18N.getString("message.preparing-scripts")); 194 195 Map<String, String> data = new HashMap<>(); 196 197 data.put("INSTALL_LOCATION", MAC_INSTALL_DIR.fetchFrom(params)); 198 199 try (Writer w = Files.newBufferedWriter( 200 getScripts_PreinstallFile(params).toPath())) { 201 String content = preprocessTextResource( 202 getScripts_PreinstallFile(params).getName(), 203 I18N.getString("resource.pkg-preinstall-script"), 204 TEMPLATE_PREINSTALL_SCRIPT, 205 data, 206 VERBOSE.fetchFrom(params), 207 RESOURCE_DIR.fetchFrom(params)); 208 w.write(content); |