private File mergeSettings()

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;
    }