Example usage for org.apache.maven.settings.building SettingsBuildingRequest setSystemProperties

List of usage examples for org.apache.maven.settings.building SettingsBuildingRequest setSystemProperties

Introduction

In this page you can find the example usage for org.apache.maven.settings.building SettingsBuildingRequest setSystemProperties.

Prototype

SettingsBuildingRequest setSystemProperties(Properties systemProperties);

Source Link

Document

Sets the system properties to use for interpolation.

Usage

From source file:com.github.nethad.clustermeister.provisioning.dependencymanager.MavenRepositorySystem.java

License:Apache License

private Settings buildMavenSettings() {
    try {//from www. j a va 2s  . c  o  m
        File settingsXml = new File(new File(System.getProperty("user.home"), ".m2"), "settings.xml");
        if (settingsXml.canRead()) {
            SettingsBuilder settingsBuilder = new DefaultSettingsBuilderFactory().newInstance();
            SettingsBuildingRequest request = new DefaultSettingsBuildingRequest();
            request.setSystemProperties(System.getProperties());
            request.setUserSettingsFile(settingsXml);

            return settingsBuilder.build(request).getEffectiveSettings();
        }
    } catch (SettingsBuildingException ex) {
        logger.warn("Could not build settings from user settings.xml.", ex);
    }

    return new Settings();
}

From source file:com.redhat.ceylon.cmr.resolver.aether.AetherResolverImpl.java

License:Apache License

private List<RemoteRepository> configureSession(RepositorySystem system,
        DefaultRepositorySystemSession session) {
    DefaultSettingsBuilderFactory factory = new DefaultSettingsBuilderFactory();
    DefaultSettingsBuilder builder = factory.newInstance();

    SettingsBuildingRequest settingsBuilderRequest = new DefaultSettingsBuildingRequest();
    settingsBuilderRequest.setSystemProperties(System.getProperties());

    // find the settings
    String settingsFile = settingsXml;
    if (settingsFile == null) {
        File userSettings = new File(System.getProperty("user.home"), ".m2/settings.xml");
        if (userSettings.exists())
            settingsFile = userSettings.getAbsolutePath();
    }//from w ww. j ava 2 s  . co  m
    if (settingsFile != null) {
        settingsBuilderRequest.setUserSettingsFile(new File(settingsXml));
    }

    // read it
    SettingsBuildingResult settingsBuildingResult;
    try {
        settingsBuildingResult = builder.build(settingsBuilderRequest);
    } catch (SettingsBuildingException e) {
        throw new RuntimeException(e);
    }
    Settings set = settingsBuildingResult.getEffectiveSettings();

    // configure the local repo
    String localRepository = set.getLocalRepository();
    if (localRepository == null)
        localRepository = System.getProperty("user.home") + File.separator + ".m2" + File.separator
                + "repository";
    else {
        if (!new File(localRepository).isAbsolute() && currentDirectory != null) {
            localRepository = new File(new File(currentDirectory), localRepository).getAbsolutePath();
        }
    }

    // set up authentication
    DefaultAuthenticationSelector authenticationSelector = new DefaultAuthenticationSelector();
    for (Server server : set.getServers()) {
        AuthenticationBuilder auth = new AuthenticationBuilder();
        if (server.getUsername() != null)
            auth.addUsername(server.getUsername());
        if (server.getPassword() != null)
            auth.addPassword(server.getPassword());
        if (server.getPrivateKey() != null)
            auth.addPrivateKey(server.getPrivateKey(), server.getPassphrase());
        authenticationSelector.add(server.getId(), auth.build());
    }
    session.setAuthenticationSelector(authenticationSelector);

    // set up mirrors
    DefaultMirrorSelector mirrorSelector = new DefaultMirrorSelector();
    for (Mirror mirror : set.getMirrors()) {
        mirrorSelector.add(mirror.getId(), mirror.getUrl(), mirror.getLayout(), false, mirror.getMirrorOf(),
                mirror.getMirrorOfLayouts());
    }
    session.setMirrorSelector(mirrorSelector);

    // set up proxies
    DefaultProxySelector proxySelector = new DefaultProxySelector();
    for (Proxy proxy : set.getProxies()) {
        if (proxy.isActive()) {
            AuthenticationBuilder auth = new AuthenticationBuilder();
            if (proxy.getUsername() != null)
                auth.addUsername(proxy.getUsername());
            if (proxy.getPassword() != null)
                auth.addPassword(proxy.getPassword());
            org.eclipse.aether.repository.Proxy p = new org.eclipse.aether.repository.Proxy(proxy.getProtocol(),
                    proxy.getHost(), proxy.getPort(), auth.build());
            proxySelector.add(p, proxy.getNonProxyHosts());
        }
    }
    session.setProxySelector(proxySelector);

    // set up remote repos
    List<RemoteRepository> repos = new ArrayList<>();
    RemoteRepository central = new RemoteRepository.Builder("central", "default",
            "http://repo1.maven.org/maven2/").build();
    repos.add(central);
    Set<String> activeProfiles = new HashSet<>();
    activeProfiles.addAll(set.getActiveProfiles());
    for (Profile profile : set.getProfiles()) {
        Activation activation = profile.getActivation();
        if (activation != null) {
            if (activation.isActiveByDefault())
                activeProfiles.add(profile.getId());
        }
    }
    for (String profileId : activeProfiles) {
        Profile profile = set.getProfilesAsMap().get(profileId);
        if (profile != null) {
            addReposFromProfile(repos, profile);
        }
    }

    // connection settings
    session.setConfigProperty(ConfigurationProperties.CONNECT_TIMEOUT, timeout);
    session.setOffline(offline || set.isOffline());

    LocalRepository localRepo = new LocalRepository(localRepository);
    session.setLocalRepositoryManager(system.newLocalRepositoryManager(session, localRepo));

    return repos;
}

From source file:com.rhox.maven.MavenSettings.java

public static MavenSettings getDefault() {
    String envMavenHome = System.getenv("M2_HOME");
    File userSettings = new File(USER_MAVEN_HOME, "settings.xml");
    File globalSettings = new File(System.getProperty("maven.home", envMavenHome != null ? envMavenHome : ""),
            "conf/settings.xml");

    SettingsBuildingRequest settingsBuildingRequest = new DefaultSettingsBuildingRequest();
    settingsBuildingRequest.setSystemProperties(System.getProperties());
    settingsBuildingRequest.setUserSettingsFile(userSettings);
    settingsBuildingRequest.setGlobalSettingsFile(globalSettings);

    DefaultSettingsBuilderFactory mvnSettingBuilderFactory = new DefaultSettingsBuilderFactory();
    DefaultSettingsBuilder settingsBuilder = mvnSettingBuilderFactory.newInstance();
    Settings settings;//w  ww.  j av a 2s.c o  m
    try {
        SettingsBuildingResult settingsBuildingResult = settingsBuilder.build(settingsBuildingRequest);
        settings = settingsBuildingResult.getEffectiveSettings();
    } catch (SettingsBuildingException unexpected) {
        throw new IllegalStateException(unexpected);
    }
    return new MavenSettings(settings);
}

From source file:io.takari.maven.testing.Maven30xRuntime.java

License:Open Source License

@SuppressWarnings("deprecation")
protected MavenExecutionRequest newExecutionRequest() throws Exception {

    // system properties
    Properties buildProperties = getMavenBuildProperties();
    String mavenVersion = buildProperties.getProperty("version");
    Properties systemProperties = new Properties();
    systemProperties.putAll(System.getProperties()); // TODO not thread safe
    systemProperties.setProperty("maven.version", mavenVersion);
    systemProperties.setProperty("maven.build.version", mavenVersion);

    // request with initial configuration
    MavenExecutionRequest request = new DefaultMavenExecutionRequest();
    request.setLocalRepositoryPath(properties.getLocalRepository());
    request.setUserSettingsFile(properties.getUserSettings());
    request.setGlobalSettingsFile(properties.getGlobalSettings());
    request.setOffline(properties.getOffline());
    request.setUpdateSnapshots(properties.getUpdateSnapshots());
    request.setSystemProperties(systemProperties);

    // read settings
    SettingsBuildingRequest settingsRequest = new DefaultSettingsBuildingRequest();
    settingsRequest.setGlobalSettingsFile(request.getGlobalSettingsFile());
    settingsRequest.setUserSettingsFile(request.getUserSettingsFile());
    settingsRequest.setSystemProperties(request.getSystemProperties());
    settingsRequest.setUserProperties(request.getUserProperties());
    Settings settings = lookup(SettingsBuilder.class).build(settingsRequest).getEffectiveSettings();

    MavenExecutionRequestPopulator populator = container.lookup(MavenExecutionRequestPopulator.class);
    request = populator.populateFromSettings(request, settings);
    return populator.populateDefaults(request);
}

From source file:io.tesla.aether.guice.maven.MavenBehaviourRepositoryProvider.java

License:Open Source License

public Settings readMavenSettings() {
    File userSettingsFile = new File(System.getProperty("user.home"), ".m2/settings.xml");
    if (userSettingsFile.exists() == false) {
        return null;
    }/*from w  w w.  j av  a 2  s .co  m*/
    SettingsBuilder settingsBuilder = new DefaultSettingsBuilderFactory().newInstance();
    SettingsBuildingRequest request = new DefaultSettingsBuildingRequest();
    request.setSystemProperties(System.getProperties());
    request.setUserSettingsFile(userSettingsFile);

    Settings settings;
    try {
        settings = settingsBuilder.build(request).getEffectiveSettings();
    } catch (SettingsBuildingException e) {
        settings = new Settings();
    }

    return settings;
}

From source file:io.tesla.maven.bridge.support.settings.DefaultMavenSettings.java

License:Open Source License

public DefaultMavenSettings(final File globalSettings, final File userSettings,
        final RepositorySystem repositorySystem, final List<RemoteRepository> repositories) {
    this.repositorySystem = repositorySystem;
    final SettingsBuildingRequest settingsRequest = new DefaultSettingsBuildingRequest();

    settingsRequest.setGlobalSettingsFile(globalSettings);
    settingsRequest.setUserSettingsFile(userSettings);
    settingsRequest.setSystemProperties(System.getProperties());

    // TODO shall we set custom properties?

    try {/*from  w  w w.  ja  va 2  s.  co m*/
        final SettingsBuilder settingsBuilder = new DefaultSettingsBuilderFactory().newInstance();
        Settings settings = settingsBuilder.build(settingsRequest).getEffectiveSettings();

        this.repositories = getRepositories(settings, repositories);
        this.mirrorSelector = createMirrorSelector(settings);
        this.authenticationSelector = createAuthenticationSelector(settings);
        this.proxySelector = createProxySelector(settings);
        this.localRepositoryManager = createLocalRepositoryManager(settings);
    } catch (SettingsBuildingException e) {
        throw new RuntimeException(e.getMessage(), e);
    }
}

From source file:net.linguica.gradle.maven.settings.LocalMavenSettingsLoader.java

License:Apache License

/**
 * Loads and merges Maven settings from global and local user configuration files. Returned
 * {@link org.apache.maven.settings.Settings} object includes decrypted credentials.
 *
 * @return Effective settings/*  w w w . j  a  v a 2s .c  o m*/
 * @throws SettingsBuildingException If the effective settings cannot be built
 */
public Settings loadSettings() throws SettingsBuildingException {
    SettingsBuildingRequest settingsBuildingRequest = new DefaultSettingsBuildingRequest();
    settingsBuildingRequest.setUserSettingsFile(extension.getUserSettingsFile());
    settingsBuildingRequest.setGlobalSettingsFile(GLOBAL_SETTINGS_FILE);
    settingsBuildingRequest.setSystemProperties(System.getProperties());

    DefaultSettingsBuilderFactory factory = new DefaultSettingsBuilderFactory();
    DefaultSettingsBuilder settingsBuilder = factory.newInstance();
    SettingsBuildingResult settingsBuildingResult = settingsBuilder.build(settingsBuildingRequest);
    Settings settings = settingsBuildingResult.getEffectiveSettings();
    decryptCredentials(settings);

    return settings;
}

From source file:org.commonjava.emb.boot.embed.EMBEmbedder.java

License:Apache License

protected void injectSettings(final EMBExecutionRequest request) throws EMBEmbeddingException {
    Settings settings = request.getSettings();
    SettingsBuildingResult settingsResult = null;
    if (settings == null) {
        final SettingsBuildingRequest settingsRequest = new DefaultSettingsBuildingRequest();
        settingsRequest.setGlobalSettingsFile(request.getGlobalSettingsFile());
        settingsRequest.setUserSettingsFile(request.getUserSettingsFile());

        settingsRequest.setSystemProperties(request.getSystemProperties());
        settingsRequest.setUserProperties(request.getUserProperties());

        try {//from  w ww.ja  v  a2s. c  om
            settingsResult = settingsBuilder.build(settingsRequest);
        } catch (final SettingsBuildingException e) {
            throw new EMBEmbeddingException(
                    "Failed to build settings; {0}\nGlobal settings: {1}\nUser settings: {2}", e,
                    e.getMessage(), request.getGlobalSettingsFile(), request.getUserSettingsFile());
        }

        settings = settingsResult.getEffectiveSettings();
    }

    try {
        executionRequestPopulator.populateFromSettings(request.asMavenExecutionRequest(), settings);
    } catch (final MavenExecutionRequestPopulationException e) {
        throw new EMBEmbeddingException("Failed to populate request from settings; {0}", e, e.getMessage());
    }

    if (!settingsResult.getProblems().isEmpty() && logger.isWarnEnabled()) {
        logger.warn("");
        logger.warn("Some problems were encountered while building the effective settings");

        for (final SettingsProblem problem : settingsResult.getProblems()) {
            logger.warn(problem.getMessage() + " @ " + problem.getLocation());
        }

        logger.warn("");
    }
}

From source file:org.eclipse.che.maven.server.MavenServerImpl.java

License:Open Source License

private Settings getSettings(SettingsBuilder builder, MavenSettings settings, Properties systemProperties,
        Properties userProperties) throws RemoteException {
    SettingsBuildingRequest request = new DefaultSettingsBuildingRequest();
    request.setGlobalSettingsFile(settings.getGlobalSettings());
    request.setUserSettingsFile(settings.getUserSettings());
    request.setSystemProperties(systemProperties);
    request.setUserProperties(userProperties);

    Settings result = new Settings();
    try {//from   w  ww.  ja v a 2  s .co  m
        result = builder.build(request).getEffectiveSettings();
    } catch (SettingsBuildingException e) {
        MavenServerContext.getLogger().info(e);
    }

    result.setOffline(settings.isOffline());
    if (settings.getLocalRepository() != null) {
        result.setLocalRepository(settings.getLocalRepository().getPath());
    }
    if (result.getLocalRepository() == null) {
        result.setLocalRepository(new File(System.getProperty("user.home"), ".m2/repository").getPath());
    }
    return result;
}

From source file:org.eclipse.m2e.core.internal.embedder.MavenImpl.java

License:Open Source License

public synchronized Settings getSettings(final boolean force_reload) throws CoreException {
    // MUST NOT use createRequest!

    File userSettingsFile = null;
    if (mavenConfiguration.getUserSettingsFile() != null) {
        userSettingsFile = new File(mavenConfiguration.getUserSettingsFile());
    }//from   ww  w.j a  va2  s.  c  om

    boolean reload = force_reload || settings == null;

    if (!reload && userSettingsFile != null) {
        reload = userSettingsFile.lastModified() != settings_timestamp
                || userSettingsFile.length() != settings_length;
    }

    if (reload) {
        // TODO: Can't that delegate to buildSettings()?
        SettingsBuildingRequest request = new DefaultSettingsBuildingRequest();
        request.setSystemProperties(System.getProperties());
        if (mavenConfiguration.getGlobalSettingsFile() != null) {
            request.setGlobalSettingsFile(new File(mavenConfiguration.getGlobalSettingsFile()));
        }
        if (userSettingsFile != null) {
            request.setUserSettingsFile(userSettingsFile);
        }
        try {
            settings = lookup(SettingsBuilder.class).build(request).getEffectiveSettings();
        } catch (SettingsBuildingException ex) {
            String msg = "Could not read settings.xml, assuming default values";
            log.error(msg, ex);
            /*
             * NOTE: This method provides input for various other core functions, just bailing out would make m2e highly
             * unusuable. Instead, we fail gracefully and just ignore the broken settings, using defaults.
             */
            settings = new Settings();
        }

        if (userSettingsFile != null) {
            settings_length = userSettingsFile.length();
            settings_timestamp = userSettingsFile.lastModified();
        }
    }
    return settings;
}