in src/main/java/org/apache/maven/plugins/invoker/AbstractInvokerMojo.java [1423:1455]
private File mergeSettings(File interpolatedSettingsFile) throws MojoExecutionException {
File mergedSettingsFile;
Settings mergedSettings = this.settings;
if (mergeUserSettings) {
if (interpolatedSettingsFile != null) {
// Have to merge the specified settings file (dominant) and the one of the invoking Maven process
try {
SettingsBuildingRequest request = new DefaultSettingsBuildingRequest();
request.setGlobalSettingsFile(interpolatedSettingsFile);
Settings dominantSettings = settingsBuilder.build(request).getEffectiveSettings();
Settings recessiveSettings = cloneSettings();
SettingsUtils.merge(dominantSettings, recessiveSettings, TrackableBase.USER_LEVEL);
mergedSettings = dominantSettings;
getLog().debug("Merged specified settings file with settings of invoking process");
} catch (SettingsBuildingException e) {
throw new MojoExecutionException("Could not read specified settings file", e);
}
}
}
if (this.settingsFile != null && !mergeUserSettings) {
mergedSettingsFile = interpolatedSettingsFile;
} else {
try {
mergedSettingsFile = writeMergedSettingsFile(mergedSettings);
} catch (IOException e) {
throw new MojoExecutionException("Could not create temporary file for invoker settings.xml", e);
}
}
return mergedSettingsFile;
}