protected Path buildPackage()

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;
    }