src/jdk.packager/macosx/classes/jdk/packager/internal/builders/mac/MacAppImageBuilder.java
branchJDK-8200758-branch
changeset 56989 0f19096663d1
parent 56982 e094d5483bd6
equal deleted inserted replaced
56988:3cb9af04c779 56989:0f19096663d1
   187                     return null;
   187                     return null;
   188                 }
   188                 }
   189                 return f;
   189                 return f;
   190             },
   190             },
   191             (s, p) -> new File(s));
   191             (s, p) -> new File(s));
   192     
   192 
   193     public static final StandardBundlerParam<Boolean> SIGN_BUNDLE  =
   193     public static final StandardBundlerParam<Boolean> SIGN_BUNDLE  =
   194             new StandardBundlerParam<>(
   194             new StandardBundlerParam<>(
   195             I18N.getString("param.sign-bundle.name"),
   195             I18N.getString("param.sign-bundle.name"),
   196             I18N.getString("param.sign-bundle.description"),
   196             I18N.getString("param.sign-bundle.description"),
   197             Arguments.CLIOptions.MAC_SIGN.getId(),
   197             Arguments.CLIOptions.MAC_SIGN.getId(),
   786 
   786 
   787         args.addAll(keyChains);
   787         args.addAll(keyChains);
   788         args.add(keyChain);
   788         args.add(keyChain);
   789 
   789 
   790         ProcessBuilder  pb = new ProcessBuilder(args);
   790         ProcessBuilder  pb = new ProcessBuilder(args);
   791         IOUtils.exec(pb, ECHO_MODE.fetchFrom(params));
   791         IOUtils.exec(pb, false);
   792     }
   792     }
   793 
   793 
   794     public static void restoreKeychainList(Map<String, ? super Object> params)
   794     public static void restoreKeychainList(Map<String, ? super Object> params)
   795             throws IOException{
   795             throws IOException{
   796         if (Platform.getMajorVersion() < 10 ||
   796         if (Platform.getMajorVersion() < 10 ||
   810         args.add("-s");
   810         args.add("-s");
   811 
   811 
   812         args.addAll(keyChains);
   812         args.addAll(keyChains);
   813 
   813 
   814         ProcessBuilder  pb = new ProcessBuilder(args);
   814         ProcessBuilder  pb = new ProcessBuilder(args);
   815         IOUtils.exec(pb, ECHO_MODE.fetchFrom(params));
   815         IOUtils.exec(pb, false);
   816     }
   816     }
   817 
   817 
   818     public static void signAppBundle(
   818     public static void signAppBundle(
   819             Map<String, ? super Object> params, Path appLocation,
   819             Map<String, ? super Object> params, Path appLocation,
   820             String signingIdentity, String identifierPrefix,
   820             String signingIdentity, String identifierPrefix,
   885                             Files.getPosixFilePermissions(p);
   885                             Files.getPosixFilePermissions(p);
   886                     File f = p.toFile();
   886                     File f = p.toFile();
   887                     f.setWritable(true, true);
   887                     f.setWritable(true, true);
   888 
   888 
   889                     ProcessBuilder pb = new ProcessBuilder(args);
   889                     ProcessBuilder pb = new ProcessBuilder(args);
   890                     IOUtils.exec(pb, ECHO_MODE.fetchFrom(params));
   890                     IOUtils.exec(pb, false);
   891 
   891 
   892                     Files.setPosixFilePermissions(p, oldPermissions);
   892                     Files.setPosixFilePermissions(p, oldPermissions);
   893                 } catch (IOException ioe) {
   893                 } catch (IOException ioe) {
   894                     toThrow.set(ioe);
   894                     toThrow.set(ioe);
   895                 }
   895                 }
   917                     args.add("--keychain");
   917                     args.add("--keychain");
   918                     args.add(keyChain);
   918                     args.add(keyChain);
   919                 }
   919                 }
   920                 args.add(path.toString());
   920                 args.add(path.toString());
   921                 ProcessBuilder pb = new ProcessBuilder(args);
   921                 ProcessBuilder pb = new ProcessBuilder(args);
   922                 IOUtils.exec(pb, ECHO_MODE.fetchFrom(params));
   922                 IOUtils.exec(pb, false);
   923 
   923 
   924                 args = new ArrayList<>();
   924                 args = new ArrayList<>();
   925                 args.addAll(Arrays.asList("codesign",
   925                 args.addAll(Arrays.asList("codesign",
   926                         "-s", signingIdentity, // sign with this key
   926                         "-s", signingIdentity, // sign with this key
   927                         "--prefix", identifierPrefix,
   927                         "--prefix", identifierPrefix,
   932                     args.add(keyChain);
   932                     args.add(keyChain);
   933                 }
   933                 }
   934                 args.add(path.toString()
   934                 args.add(path.toString()
   935                         + "/Contents/_CodeSignature/CodeResources");
   935                         + "/Contents/_CodeSignature/CodeResources");
   936                 pb = new ProcessBuilder(args);
   936                 pb = new ProcessBuilder(args);
   937                 IOUtils.exec(pb, ECHO_MODE.fetchFrom(params));
   937                 IOUtils.exec(pb, false);
   938             } catch (IOException e) {
   938             } catch (IOException e) {
   939                 toThrow.set(e);
   939                 toThrow.set(e);
   940             }
   940             }
   941         };
   941         };
   942 
   942 
   976         }
   976         }
   977         args.add(appLocation.toString());
   977         args.add(appLocation.toString());
   978 
   978 
   979         ProcessBuilder pb =
   979         ProcessBuilder pb =
   980                 new ProcessBuilder(args.toArray(new String[args.size()]));
   980                 new ProcessBuilder(args.toArray(new String[args.size()]));
   981         IOUtils.exec(pb, ECHO_MODE.fetchFrom(params));
   981         IOUtils.exec(pb, false);
   982     }
   982     }
   983 
   983 
   984 }
   984 }