Example usage for org.apache.maven.settings MavenSettingsBuilder ALT_GLOBAL_SETTINGS_XML_LOCATION

List of usage examples for org.apache.maven.settings MavenSettingsBuilder ALT_GLOBAL_SETTINGS_XML_LOCATION

Introduction

In this page you can find the example usage for org.apache.maven.settings MavenSettingsBuilder ALT_GLOBAL_SETTINGS_XML_LOCATION.

Prototype

String ALT_GLOBAL_SETTINGS_XML_LOCATION

To view the source code for org.apache.maven.settings MavenSettingsBuilder ALT_GLOBAL_SETTINGS_XML_LOCATION.

Click Source Link

Usage

From source file:org.jetbrains.maven.embedder.MavenEmbedder.java

License:Apache License

public static Settings buildSettings(PlexusContainer container, MavenEmbedderSettings embedderSettings) {
    File file = embedderSettings.getGlobalSettingsFile();
    if (file != null) {
        System.setProperty(MavenSettingsBuilder.ALT_GLOBAL_SETTINGS_XML_LOCATION, file.getPath());
    }/*from w  w  w .  j  a  v a 2s .  c  o  m*/

    Settings settings = null;

    try {
        MavenSettingsBuilder builder = (MavenSettingsBuilder) container.lookup(MavenSettingsBuilder.ROLE);

        File userSettingsFile = embedderSettings.getUserSettingsFile();
        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 e) {
        MavenEmbedderLog.LOG.warn(e);
    } catch (XmlPullParserException e) {
        MavenEmbedderLog.LOG.warn(e);
    }

    if (settings == null) {
        settings = new Settings();
    }

    if (embedderSettings.getLocalRepository() != null) {
        settings.setLocalRepository(embedderSettings.getLocalRepository().getPath());
    }
    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;
}