in maven2-server-impl/src/org/jetbrains/maven/embedder/MavenEmbedder.java [515:563]
public static Settings buildSettings(PlexusContainer container, MavenEmbedderSettings embedderSettings) {
String globalSettingsPath = embedderSettings.getGlobalSettingsPath();
if (globalSettingsPath != null) {
System.setProperty(MavenSettingsBuilder.ALT_GLOBAL_SETTINGS_XML_LOCATION, globalSettingsPath);
}
Settings settings = null;
try {
MavenSettingsBuilder builder = (MavenSettingsBuilder)container.lookup(MavenSettingsBuilder.ROLE);
String userSettingsPath = embedderSettings.getUserSettingPath();
File userSettingsFile = userSettingsPath == null ? null : new File(userSettingsPath);
if (userSettingsFile != null && userSettingsFile.exists() && !userSettingsFile.isDirectory()) {
settings = builder.buildSettings(userSettingsFile, false);
}
if (settings == null) {
settings = builder.buildSettings();
}
}
catch (ComponentLookupException e) {
MavenEmbedderLog.LOG.error(e);
}
catch (IOException | XmlPullParserException e) {
MavenEmbedderLog.LOG.warn(e);
}
if (settings == null) {
settings = new Settings();
}
if (embedderSettings.getLocalRepositoryPath() != null) {
settings.setLocalRepository(embedderSettings.getLocalRepositoryPath());
}
if (settings.getLocalRepository() == null) {
settings.setLocalRepository(System.getProperty("user.home") + "/.m2/repository");
}
settings.setOffline(embedderSettings.isWorkOffline());
settings.setInteractiveMode(false);
settings.setUsePluginRegistry(embedderSettings.isUsePluginRegistry());
RuntimeInfo runtimeInfo = new RuntimeInfo(settings);
runtimeInfo.setPluginUpdateOverride(embedderSettings.getPluginUpdatePolicy() == MavenEmbedderSettings.UpdatePolicy.ALWAYS_UPDATE);
settings.setRuntimeInfo(runtimeInfo);
return settings;
}