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();
}