@@ -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 ()) {
0 commit comments