protected Map locateReports()

in src/main/java/org/apache/maven/plugins/site/render/AbstractSiteRenderingMojo.java [347:380]


    protected Map<String, MavenReport> locateReports(
            List<MavenReportExecution> reports, Map<String, DocumentRenderer> documents, Locale locale) {
        Map<String, MavenReport> reportsByOutputName = new LinkedHashMap<>();
        for (MavenReportExecution mavenReportExecution : reports) {
            MavenReport report = mavenReportExecution.getMavenReport();

            String outputName = report.getOutputName();
            String filename = outputName + ".html";

            // Always add the report to the menu, see MSITE-150
            reportsByOutputName.put(outputName, report);

            if (documents.containsKey(filename)) {
                String reportMojoInfo = mavenReportExecution.getGoal() == null
                        ? ""
                        : (" (" + mavenReportExecution.getPlugin().getArtifactId() + ':'
                                + mavenReportExecution.getPlugin().getVersion() + ':' + mavenReportExecution.getGoal()
                                + ')');

                getLog().info("Skipped \"" + report.getName(locale) + "\" report" + reportMojoInfo + ", file \""
                        + filename + "\" already exists.");
            } else {
                String generator = mavenReportExecution.getGoal() == null
                        ? null
                        : mavenReportExecution.getPlugin().getId() + ':' + mavenReportExecution.getGoal();
                DocumentRenderingContext docRenderingContext =
                        new DocumentRenderingContext(siteDirectory, outputName, generator);
                DocumentRenderer docRenderer =
                        new ReportDocumentRenderer(mavenReportExecution, docRenderingContext, getLog());
                documents.put(filename, docRenderer);
            }
        }
        return reportsByOutputName;
    }