Skip to content

Commit 02b7cf1

Browse files
committed
U refactoring
1 parent 47ba3ce commit 02b7cf1

File tree

3 files changed

+25
-26
lines changed

3 files changed

+25
-26
lines changed

src/main/java/io/github/fvarrui/javapackager/model/MacConfig.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -265,8 +265,10 @@ public String toString() {
265265
+ ", appsLinkIconX=" + appsLinkIconX + ", appsLinkIconY=" + appsLinkIconY + ", volumeIcon=" + volumeIcon
266266
+ ", volumeName=" + volumeName + ", generateDmg=" + generateDmg + ", generatePkg=" + generatePkg
267267
+ ", relocateJar=" + relocateJar + ", appId=" + appId + ", developerId=" + developerId
268-
+ ", entitlements=" + entitlements + ", codesignApp=" + codesignApp + ", infoPlist=" + infoPlist
269-
+ ", hardenedCodesign=" + hardenedCodesign + ", macStartup=" + macStartup + "]";
268+
+ ", entitlements=" + entitlements + ", provisionProfile=" + provisionProfile + ", customLauncher="
269+
+ customLauncher + ", customInfoPlist=" + customInfoPlist + ", codesignApp=" + codesignApp
270+
+ ", infoPlist=" + infoPlist + ", hardenedCodesign=" + hardenedCodesign + ", macStartup=" + macStartup
271+
+ "]";
270272
}
271273

272274
/**

src/main/java/io/github/fvarrui/javapackager/packagers/MacPackager.java

Lines changed: 16 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,7 @@ private void prepareEntitlementFile(File entitlements) throws Exception {
214214

215215
private void manualDeepSign(File appFolder, String developerCertificateName, File entitlements) throws IOException, CommandLineException {
216216

217+
// codesign each file in app
217218
List<Object> findCommandArgs = new ArrayList<>();
218219
findCommandArgs.add(appFolder);
219220
findCommandArgs.add("-depth"); // execute 'codesign' in 'reverse order', i.e., deepest files first
@@ -222,43 +223,34 @@ private void manualDeepSign(File appFolder, String developerCertificateName, Fil
222223
findCommandArgs.add("-exec");
223224
findCommandArgs.add("codesign");
224225
findCommandArgs.add("-f");
225-
226226
addHardenedCodesign(findCommandArgs);
227-
228227
findCommandArgs.add("-s");
229228
findCommandArgs.add(developerCertificateName);
230229
findCommandArgs.add("--entitlements");
231230
findCommandArgs.add(entitlements);
232231
findCommandArgs.add("{}");
233232
findCommandArgs.add("\\;");
234-
235-
CommandUtils.execute("find", findCommandArgs.toArray(new Object[0]));
233+
CommandUtils.execute("find", findCommandArgs);
236234

237235
// make sure the executable is signed last
238-
List<Object> codeSignExe = new ArrayList<>();
239-
codeSignExe.add("-f");
240-
addHardenedCodesign(codeSignExe);
241-
codeSignExe.add("--entitlements");
242-
codeSignExe.add(entitlements);
243-
codeSignExe.add("-s");
244-
codeSignExe.add(developerCertificateName);
245-
codeSignExe.add(this.executable);
246-
247-
CommandUtils.execute("codesign", codeSignExe.toArray(new Object[0]));
236+
codesign(entitlements, developerCertificateName, this.executable);
248237

249238
// finally, sign the top level directory
250-
List<Object> codeSignTopLevelDir = new ArrayList<>();
251-
codeSignTopLevelDir.add("-f");
252-
addHardenedCodesign(codeSignTopLevelDir);
253-
codeSignTopLevelDir.add("--entitlements");
254-
codeSignTopLevelDir.add(entitlements);
255-
codeSignTopLevelDir.add("-s");
256-
codeSignTopLevelDir.add(developerCertificateName);
257-
codeSignTopLevelDir.add(appFolder);
258-
259-
CommandUtils.execute("codesign", codeSignTopLevelDir.toArray(new Object[0]));
239+
codesign(entitlements, developerCertificateName, appFolder);
260240

261241
}
242+
243+
private void codesign(File entitlements, String developerCertificateName, File file) throws IOException, CommandLineException {
244+
List<Object> arguments = new ArrayList<>();
245+
arguments.add("-f");
246+
addHardenedCodesign(arguments);
247+
arguments.add("--entitlements");
248+
arguments.add(entitlements);
249+
arguments.add("-s");
250+
arguments.add(developerCertificateName);
251+
arguments.add(appFolder);
252+
CommandUtils.execute("codesign", arguments);
253+
}
262254

263255
private void addHardenedCodesign(Collection<Object> args){
264256
if (macConfig.isHardenedCodesign()) {

src/main/java/io/github/fvarrui/javapackager/utils/CommandUtils.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import java.io.File;
55
import java.io.IOException;
66
import java.io.InputStreamReader;
7+
import java.util.List;
78

89
import org.apache.commons.lang3.StringUtils;
910
import org.codehaus.plexus.util.cli.CommandLineException;
@@ -29,6 +30,10 @@ public static String execute(String executable, Object... arguments) throws IOEx
2930
return executeOnDirectory(new File("."), executable, arguments);
3031
}
3132

33+
public static String execute(String executable, List<Object> arguments) throws IOException, CommandLineException {
34+
return executeOnDirectory(new File("."), executable, arguments.toArray(new Object[0]));
35+
}
36+
3237
public static ExecutionResult executeWithResult(File workingDirectory, String executable, Object... arguments) throws IOException, CommandLineException {
3338
ExecutionResult result = new ExecutionResult();
3439

0 commit comments

Comments
 (0)