public int exec()

in src/main/java/org/apache/netbeans/nbpackage/ExecutionContext.java [155:178]


    public int exec(ProcessBuilder processBuilder) throws IOException, InterruptedException {
        boolean showOutput = isVerbose();
        if (showOutput) {
            processBuilder.redirectErrorStream(true);
            processBuilder.redirectOutput(ProcessBuilder.Redirect.PIPE);
        } else {
            processBuilder.redirectOutput(ProcessBuilder.Redirect.DISCARD);
            processBuilder.redirectError(ProcessBuilder.Redirect.DISCARD);
        }
        Process p = processBuilder.start();
        if (showOutput) {
            var info = infoHandler();
            var warning = warningHandler();
            executor.submit(() -> {
                try ( var in = new BufferedReader(new InputStreamReader(p.getInputStream()))) {
                    in.lines().forEachOrdered(info);
                } catch (IOException ex) {
                    warning.accept(ex.getClass().getSimpleName());
                }

            });
        }
        return p.waitFor();
    }