public static Maven2ServerEmbedderImpl create()

in maven2-server-impl/src/org/jetbrains/idea/maven/server/embedder/Maven2ServerEmbedderImpl.java [68:112]


  public static Maven2ServerEmbedderImpl create(MavenServerSettings facadeSettings) throws RemoteException {
    MavenEmbedderSettings settings = new MavenEmbedderSettings();

    List<String> commandLineOptions = new ArrayList<String>();
    String mavenEmbedderCliOptions = System.getProperty(MavenServerEmbedder.MAVEN_EMBEDDER_CLI_ADDITIONAL_ARGS);
    if (mavenEmbedderCliOptions != null) {
      commandLineOptions.addAll(StringUtilRt.splitHonorQuotes(mavenEmbedderCliOptions, ' '));
    }

    settings.setConfigurator(new PlexusComponentConfigurator() {
      @Override
      public void configureComponents(@NotNull PlexusContainer c) {
        setupContainer(c);
      }
    });
    Maven2ServerConsoleWrapper consoleWrapper = new Maven2ServerConsoleWrapper();
    consoleWrapper.setThreshold(facadeSettings.getLoggingLevel());
    settings.setLogger(consoleWrapper);
    settings.setRecursive(false);

    settings.setWorkOffline(facadeSettings.isOffline());
    settings.setUsePluginRegistry(false);

    String mavenHomePath = facadeSettings.getMavenHomePath();
    if (mavenHomePath != null) {
      settings.setMavenHomePath(facadeSettings.getMavenHomePath());
    }

    settings.setUserSettingsPath(facadeSettings.getUserSettingsPath());
    settings.setGlobalSettingsPath(facadeSettings.getGlobalSettingsPath());
    settings.setLocalRepositoryPath(facadeSettings.getLocalRepositoryPath());

    if (commandLineOptions.contains("-U") || commandLineOptions.contains("--update-snapshots")) {
      settings.setSnapshotUpdatePolicy(MavenEmbedderSettings.UpdatePolicy.ALWAYS_UPDATE);
      settings.setPluginUpdatePolicy(MavenEmbedderSettings.UpdatePolicy.ALWAYS_UPDATE);

    }
    else {
      settings.setSnapshotUpdatePolicy(MavenEmbedderSettings.UpdatePolicy.DO_NOT_UPDATE);
      settings.setPluginUpdatePolicy(MavenEmbedderSettings.UpdatePolicy.DO_NOT_UPDATE);
    }
    settings.setProperties(MavenServerUtil.collectSystemProperties());

    return new Maven2ServerEmbedderImpl(MavenEmbedder.create(settings), consoleWrapper);
  }