public void update(Settings settings, File settingsFile) throws ManipulationException { try { Settings defaultSettings = new Settings(); if (settingsFile.exists()) { DefaultSettingsBuildingRequest settingsRequest = new DefaultSettingsBuildingRequest(); settingsRequest.setGlobalSettingsFile(settingsFile); defaultSettings = settingsBuilder.build(settingsRequest).getEffectiveSettings(); } for (Profile profile : settings.getProfiles()) { Iterator<Profile> i = defaultSettings.getProfiles().iterator(); while (i.hasNext()) { if (i.next().getId().equals(profile.getId())) { i.remove(); } } defaultSettings.addProfile(profile); } for (String activeProfile : settings.getActiveProfiles()) { Iterator<String> i = defaultSettings.getActiveProfiles().iterator(); while (i.hasNext()) { if (i.next().equals(activeProfile)) { i.remove(); } } defaultSettings.addActiveProfile(activeProfile); } for (Mirror mirror : settings.getMirrors()) { defaultSettings.addMirror(mirror); } for (Proxy proxy : settings.getProxies()) { defaultSettings.addProxy(proxy); } for (Server server : settings.getServers()) { defaultSettings.addServer(server); } for (String pluginGroup : settings.getPluginGroups()) { defaultSettings.addPluginGroup(pluginGroup); } if (settings.getLocalRepository() != null) { defaultSettings.setLocalRepository(settings.getLocalRepository()); } write(defaultSettings, settingsFile); } catch (SettingsBuildingException e) { throw new ManipulationException( "Failed to build existing settings.xml for repo removal backup.", e, settingsFile, e.getMessage()); } }
private Settings loadSettings(String user, String global) throws SettingsBuildingException { DefaultSettingsBuildingRequest request = new DefaultSettingsBuildingRequest(); if (user != null) { request.setUserSettingsFile(resolveFile(user)); } if (global != null) { request.setGlobalSettingsFile(resolveFile(global)); } request.setSystemProperties(System.getProperties()); request.setUserProperties(new Properties()); Settings settings = new DefaultSettingsBuilderFactory().newInstance().build(request).getEffectiveSettings(); return settings; }
private synchronized Settings getSettings() { if (settings == null) { DefaultSettingsBuildingRequest request = new DefaultSettingsBuildingRequest(); request.setUserSettingsFile(getUserSettings()); request.setGlobalSettingsFile(getGlobalSettings()); request.setSystemProperties(getSystemProperties()); request.setUserProperties(getUserProperties()); try { settings = settingsBuilder.build(request).getEffectiveSettings(); } catch (SettingsBuildingException e) { project.log("Could not process settings.xml: " + e.getMessage(), e, Project.MSG_WARN); } SettingsDecryptionResult result = settingsDecrypter.decrypt(new DefaultSettingsDecryptionRequest(settings)); settings.setServers(result.getServers()); settings.setProxies(result.getProxies()); } return settings; }