in src/main/java/org/apache/maven/reporting/exec/DefaultMavenReportExecutor.java [466:498]
private Xpp3Dom mergeConfiguration(
PlexusConfiguration mojoConf,
Xpp3Dom pluginMgmtConfig,
PlexusConfiguration pluginConf,
PlexusConfiguration reportSetConf,
Set<String> parameters) {
Xpp3Dom mojoConfig = (mojoConf != null) ? convert(mojoConf) : new Xpp3Dom("configuration");
if (pluginMgmtConfig != null || pluginConf != null || reportSetConf != null) {
Xpp3Dom pluginConfig = (pluginConf == null) ? new Xpp3Dom("fake") : convert(pluginConf);
// merge pluginConf into reportSetConf
Xpp3Dom mergedConfig = Xpp3DomUtils.mergeXpp3Dom(convert(reportSetConf), pluginConfig);
// then merge pluginMgmtConfig
mergedConfig = Xpp3DomUtils.mergeXpp3Dom(mergedConfig, pluginMgmtConfig);
// then merge mojoConf
mergedConfig = Xpp3DomUtils.mergeXpp3Dom(mergedConfig, mojoConfig);
// clean result
Xpp3Dom cleanedConfig = new Xpp3Dom("configuration");
if (mergedConfig.getChildren() != null) {
for (Xpp3Dom parameter : mergedConfig.getChildren()) {
if (parameters.contains(parameter.getName())) {
cleanedConfig.addChild(parameter);
}
}
}
mojoConfig = cleanedConfig;
}
return mojoConfig;
}