public String execAndGetOutput()

in src/main/java/org/apache/netbeans/nbpackage/ExecutionContext.java [235:258]


    public String execAndGetOutput(ProcessBuilder processBuilder) throws IOException, InterruptedException {
        boolean showOutput = isVerbose();
        Path tmp = Files.createTempFile("nbpackage", ".tmp");
        processBuilder.redirectOutput(tmp.toFile());
        processBuilder.redirectError(showOutput ? ProcessBuilder.Redirect.PIPE
                : ProcessBuilder.Redirect.DISCARD);
        Process p = processBuilder.start();
        if (showOutput) {
            var info = configuration.infoHandler();
            var warning = configuration.warningHandler();
            executor.submit(() -> {
                try ( var in = new BufferedReader(new InputStreamReader(p.getErrorStream()))) {
                    in.lines().forEachOrdered(info);
                } catch (IOException ex) {
                    warning.accept(ex.getClass().getSimpleName());
                }

            });
        }
        p.waitFor();
        String out = Files.readString(tmp);
        Files.delete(tmp);
        return out;
    }