private File writeReport()

in src/main/java/org/apache/maven/plugins/pmd/exec/PmdExecutor.java [341:364]


    private File writeReport(Report report, Renderer r) throws IOException {
        if (r == null) {
            return null;
        }

        File targetDir = new File(request.getTargetDirectory());
        if (!targetDir.exists() && !targetDir.mkdirs()) {
            throw new IOException("Couldn't create report target directory: " + targetDir);
        }

        String extension = r.defaultFileExtension();
        File targetFile = new File(targetDir, "pmd." + extension);
        try (Writer writer = new OutputStreamWriter(new FileOutputStream(targetFile), request.getOutputEncoding())) {
            r.setWriter(writer);
            r.start();
            if (report != null) {
                r.renderFileReport(report);
            }
            r.end();
            r.flush();
        }

        return targetFile;
    }