private File writeReport()

in src/main/java/org/apache/maven/plugins/pmd/exec/CpdReportConsumer.java [84:100]


    private File writeReport(CPDReport cpd, CPDReportRenderer renderer, String extension) throws IOException {
        if (renderer == null) {
            return null;
        }

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

        File targetFile = new File(targetDir, "cpd." + extension);
        try (Writer writer = new OutputStreamWriter(new FileOutputStream(targetFile), request.getOutputEncoding())) {
            renderer.render(cpd.filterMatches(filterMatches()), writer);
            writer.flush();
        }
        return targetFile;
    }