in src/main/java/org/apache/maven/plugins/changes/ChangesReport.java [195:251]
public void executeReport(Locale locale) throws MavenReportException {
Date now = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(publishDateFormat, new Locale(publishDateLocale));
Properties additionalProperties = new Properties();
additionalProperties.put("publishDate", simpleDateFormat.format(now));
ChangesXML changesXml = getChangesFromFile(xmlPath, project, additionalProperties);
if (changesXml == null) {
return;
}
if (aggregated) {
final String basePath = project.getBasedir().getAbsolutePath();
final String absolutePath = xmlPath.getAbsolutePath();
if (!absolutePath.startsWith(basePath)) {
getLog().warn("xmlPath should be within the project dir for aggregated changes report.");
return;
}
final String relativePath = absolutePath.substring(basePath.length());
List<Release> releaseList = changesXml.getReleaseList();
for (MavenProject childProject : project.getCollectedProjects()) {
final File changesFile = new File(childProject.getBasedir(), relativePath);
final ChangesXML childXml = getChangesFromFile(changesFile, childProject, additionalProperties);
if (childXml != null) {
releaseList =
ReleaseUtils.mergeReleases(releaseList, childProject.getName(), childXml.getReleaseList());
}
}
changesXml.setReleaseList(releaseList);
}
ChangesReportRenderer report = new ChangesReportRenderer(getSink(), getBundle(locale), changesXml);
report.setIssueLinksPerSystem(prepareIssueLinksPerSystem());
report.setSystem(system);
report.setTeam(team);
report.setUrl(url);
report.setAddActionDate(addActionDate);
if (url == null || url.isEmpty()) {
getLog().warn("No issue management URL defined in POM. Links to your issues will not work correctly.");
}
boolean feedGenerated = false;
if (feedType != null && !feedType.isEmpty()) {
feedGenerated = generateFeed(changesXml, locale);
}
report.setLinkToFeed(feedGenerated);
report.render();
// Copy the images
copyStaticResources();
}