in src/main/java/org/apache/maven/reporting/exec/DefaultMavenReportExecutor.java [173:223]
protected List<MavenReportExecution> buildReportPlugin(
MavenReportExecutorRequest mavenReportExecutorRequest, ReportPlugin reportPlugin) throws Exception {
// step 1: prepare the plugin
Plugin plugin = new Plugin();
plugin.setGroupId(reportPlugin.getGroupId());
plugin.setArtifactId(reportPlugin.getArtifactId());
plugin.setVersion(resolvePluginVersion(reportPlugin, mavenReportExecutorRequest));
LOGGER.info("Configuring report plugin {}:{}", plugin.getArtifactId(), plugin.getVersion());
mergePluginToReportPlugin(mavenReportExecutorRequest, plugin, reportPlugin);
PluginDescriptor pluginDescriptor =
mavenPluginManagerHelper.getPluginDescriptor(plugin, mavenReportExecutorRequest.getMavenSession());
// step 2: prepare the goals
List<GoalWithConf> goalsWithConfiguration = new ArrayList<>();
boolean hasUserDefinedReports = prepareGoals(reportPlugin, pluginDescriptor, goalsWithConfiguration);
// step 3: prepare the reports
List<MavenReportExecution> reports = new ArrayList<>(goalsWithConfiguration.size());
for (GoalWithConf report : goalsWithConfiguration) {
MavenReportExecution mavenReportExecution =
prepareReportExecution(mavenReportExecutorRequest, report, hasUserDefinedReports);
if (mavenReportExecution != null) {
// ok, report is ready to generate
reports.add(mavenReportExecution);
}
}
if (!reports.isEmpty()) {
// log reports, either configured or detected
StringBuilder buff = new StringBuilder();
for (MavenReportExecution mre : reports) {
if (buff.length() > 0) {
buff.append(", ");
}
buff.append(mre.getGoal());
}
LOGGER.info(
"{} {} report{} for {}:{}: {}",
(hasUserDefinedReports ? "Configured" : "Detected"),
reports.size(),
(reports.size() > 1 ? "s" : ""),
plugin.getArtifactId(),
plugin.getVersion(),
buff);
}
return reports;
}