in src/main/java/org/apache/netbeans/nbpackage/macos/AppBundleTask.java [92:118]
protected Path buildPackage(Path image) throws Exception {
Path bundle = image.resolve(getBundleName() + ".app");
String execName = FileUtils.find(bundle, "Contents/Resources/*/bin/*")
.stream()
.filter(path -> !path.toString().endsWith(".exe"))
.findFirst()
.map(path -> path.getFileName().toString())
.orElseThrow();
String arch = findArch();
Path launcher = compileLauncher(image.resolve(LAUNCHER_SRC_DIRNAME), arch);
Files.copy(launcher, bundle.resolve("Contents")
.resolve("MacOS").resolve(execName),
StandardCopyOption.COPY_ATTRIBUTES);
String signID = context().getValue(MacOS.CODESIGN_ID).orElse("");
if (signID.isBlank()) {
context().warningHandler().accept(
MacOS.MESSAGES.getString("message.nocodesignid"));
return bundle;
}
Path entitlements = image.resolve(ENTITLEMENTS_FILENAME);
signBinariesInJARs(image, entitlements, signID);
signNativeBinaries(image, entitlements, signID);
codesign(bundle, entitlements, signID);
return bundle;
}