in src/main/java/org/apache/netbeans/nbpackage/innosetup/InnoSetupTask.java [68:99]
protected Path buildPackage(Path image) throws Exception {
Path tool = context().getValue(TOOL_PATH)
.orElseThrow(() -> new IllegalStateException(
MESSAGES.getString("message.noinnosetuptool")))
.toAbsolutePath();
Path issFile;
try (var stream = Files.newDirectoryStream(image, "*.iss")) {
var itr = stream.iterator();
if (!itr.hasNext()) {
throw new IllegalArgumentException(image.toString());
}
issFile = itr.next();
}
var cmd = List.of(tool.toString(), issFile.getFileName().toString());
var pb = new ProcessBuilder(cmd);
pb.directory(image.toFile());
context().exec(pb);
Path exeFile;
try (var stream = Files.newDirectoryStream(image.resolve("Output"), "*.exe")) {
var itr = stream.iterator();
if (!itr.hasNext()) {
throw new IllegalArgumentException(image.toString());
}
exeFile = itr.next();
}
Path output = context().destination().resolve(exeFile.getFileName());
Files.move(exeFile, output);
Files.delete(image.resolve("Output"));
return output;
}