protected void executeReport()

in maven-plugin-report-plugin/src/main/java/org/apache/maven/plugin/plugin/report/PluginReport.java [180:220]


    protected void executeReport(Locale locale) throws MavenReportException {
        PluginDescriptor pluginDescriptor = extractPluginDescriptor();

        // Generate the mojos' documentation
        generateMojosDocumentation(pluginDescriptor, locale);

        if (requirementsHistories.isEmpty()) {
            // detect requirements history
            String v = null;
            try {
                List<Version> versions = discoverVersions(requirementsHistoryDetectionRange);
                if (versions.isEmpty()) {
                    getLog().info("No plugin history found for range " + requirementsHistoryDetectionRange);
                } else {
                    getLog().info("Detecting plugin requirements history for range "
                            + requirementsHistoryDetectionRange + ": "
                            + versions.size() + " releases, from " + versions.get(0) + " to "
                            + versions.get(versions.size() - 1));
                }

                Collections.reverse(versions);
                for (Version version : versions) {
                    v = version.toString();
                    MavenProject versionProject = buildMavenProject(v);
                    RequirementsHistory requirements = RequirementsHistory.discoverRequirements(versionProject);
                    requirementsHistories.add(requirements);
                    getLog().debug("  - " + requirements);
                }
            } catch (VersionRangeResolutionException vrre) {
                throw new MavenReportException(
                        "Cannot resolve past versions " + requirementsHistoryDetectionRange, vrre);
            } catch (ProjectBuildingException pbe) {
                throw new MavenReportException("Cannot resolve MavenProject for version " + v, pbe);
            }
        }

        // Write the overview
        PluginOverviewRenderer r = new PluginOverviewRenderer(
                getSink(), i18n, locale, getProject(), requirementsHistories, pluginDescriptor, hasExtensionsToLoad);
        r.render();
    }