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