public static Settings buildSettings()

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