in src/main/java/org/apache/maven/plugins/changes/ChangesReport.java [319:357]
private ChangesXML getChangesFromFile(File changesXml, MavenProject project, Properties additionalProperties)
throws MavenReportException {
if (!changesXml.exists()) {
getLog().warn("changes.xml file " + changesXml.getAbsolutePath() + " does not exist.");
return null;
}
if (filteringChanges) {
if (!filteredOutputDirectory.exists()) {
filteredOutputDirectory.mkdirs();
}
try {
// so we get encoding from the file itself
try (XmlStreamReader xmlStreamReader =
XmlStreamReader.builder().setFile(changesXml).get()) {
String encoding = xmlStreamReader.getEncoding();
File resultFile = new File(
filteredOutputDirectory,
project.getGroupId() + "." + project.getArtifactId() + "-changes.xml");
final MavenFileFilterRequest mavenFileFilterRequest = new MavenFileFilterRequest(
changesXml,
resultFile,
true,
project,
Collections.emptyList(),
false,
encoding,
mavenSession,
additionalProperties);
mavenFileFilter.copyFile(mavenFileFilterRequest);
changesXml = resultFile;
}
} catch (IOException | MavenFilteringException e) {
throw new MavenReportException("Exception during filtering changes file : " + e.getMessage(), e);
}
}
return new ChangesXML(changesXml, getLog());
}