Example usage for org.apache.maven.settings.building DefaultSettingsBuilderFactory newInstance

List of usage examples for org.apache.maven.settings.building DefaultSettingsBuilderFactory newInstance

Introduction

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

Prototype

public DefaultSettingsBuilder newInstance() 

Source Link

Document

Creates a new settings builder instance.

Usage

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();
    }// ww  w . j  av  a  2  s. c  o 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 w w  . java 2 s  .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.fabric8.maven.util.MavenConfigurationImpl.java

License:Apache License

private Settings buildSettings(String localRepoPath, String settingsPath, boolean useFallbackRepositories) {
    Settings settings;/*ww  w  .  j a  va  2  s  .c  o m*/
    if (settingsPath == null) {
        settings = new Settings();
    } else {
        DefaultSettingsBuilderFactory factory = new DefaultSettingsBuilderFactory();
        DefaultSettingsBuilder builder = factory.newInstance();
        SettingsBuildingRequest request = new DefaultSettingsBuildingRequest();
        request.setUserSettingsFile(new File(settingsPath));
        try {
            SettingsBuildingResult result = builder.build(request);
            settings = result.getEffectiveSettings();
        } catch (SettingsBuildingException exc) {
            throw new AssertionError("cannot build settings", exc);
        }

    }
    if (useFallbackRepositories) {
        Profile fallbackProfile = new Profile();
        Repository central = new Repository();
        central.setId("central");
        central.setUrl("http://repo1.maven.org/maven2");
        fallbackProfile.setId("fallback");
        fallbackProfile.setRepositories(Arrays.asList(central));
        settings.addProfile(fallbackProfile);
        settings.addActiveProfile("fallback");
    }
    if (localRepoPath != null) {
        settings.setLocalRepository(localRepoPath);
    }
    return settings;
}

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//from w  w  w.j  av a  2 s . 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.apache.karaf.maven.command.MavenConfigurationSupport.java

License:Apache License

/**
 * Reads on demand <code>settings.xml</code> file - without password decryption. Also
 * collects declared servers by ID.//  w ww .  j  a  v  a  2s . c  o m
 * @param settingsFile
 */
protected synchronized Settings readSettings(File settingsFile) throws SettingsBuildingException {
    if (!settingsFile.isFile() || !settingsFile.canRead()) {
        return null;
    }

    try {
        DefaultSettingsBuilderFactory factory = new DefaultSettingsBuilderFactory();
        DefaultSettingsBuilder builder = factory.newInstance();
        SettingsBuildingRequest request = new DefaultSettingsBuildingRequest();
        request.setUserSettingsFile(settingsFile);

        SettingsBuildingResult result = builder.build(request);
        if (result.getProblems().size() > 0) {
            for (SettingsProblem problem : result.getProblems()) {
                System.err.println(problem);
            }
            return null;
        } else {
            Settings settings = result.getEffectiveSettings();
            if (settings.getServers() != null) {
                for (Server server : settings.getServers()) {
                    servers.put(server.getId(), server);
                }
            }
            return settings;
        }
    } catch (Throwable e) {
        System.err.println(e.getMessage());
        LOG.error(e.getMessage(), e);
        throw e;
    }
}

From source file:org.ops4j.pax.url.mvn.internal.config.MavenConfigurationImpl.java

License:Apache License

private Settings buildSettings(String localRepoPath, String settingsPath, boolean useFallbackRepositories) {
    Settings settings;//from w  w w .ja  v a  2 s . co  m
    if (settingsPath == null) {
        settings = new Settings();
    } else {
        DefaultSettingsBuilderFactory factory = new DefaultSettingsBuilderFactory();
        DefaultSettingsBuilder builder = factory.newInstance();
        SettingsBuildingRequest request = new DefaultSettingsBuildingRequest();
        request.setUserSettingsFile(new File(settingsPath));
        try {
            SettingsBuildingResult result = builder.build(request);
            settings = result.getEffectiveSettings();
        } catch (SettingsBuildingException exc) {
            throw new AssertionError("cannot build settings", exc);
        }

    }
    if (useFallbackRepositories) {
        Profile fallbackProfile = new Profile();
        Repository central = new Repository();
        central.setId("central");
        central.setUrl("https://repo1.maven.org/maven2");
        fallbackProfile.setId("fallback");
        fallbackProfile.setRepositories(Arrays.asList(central));
        settings.addProfile(fallbackProfile);
        settings.addActiveProfile("fallback");
    }
    if (localRepoPath != null) {
        settings.setLocalRepository(localRepoPath);
    }
    return settings;
}

From source file:org.ops4j.pax.url.mvn.UnitHelp.java

License:Apache License

/**
 * Load settings.xml file and apply custom properties.
 *///from  w  w  w . j av  a2s .  c  om
public static MavenConfiguration getConfig(final File settingsFile, final Properties props) {

    props.setProperty(ServiceConstants.PID + "." + ServiceConstants.PROPERTY_SETTINGS_FILE,
            settingsFile.toURI().toASCIIString());

    PropertiesPropertyResolver propertiesPropertyResolver = new PropertiesPropertyResolver(props);
    final MavenConfigurationImpl config = new MavenConfigurationImpl(propertiesPropertyResolver,
            ServiceConstants.PID);

    DefaultSettingsBuilderFactory factory = new DefaultSettingsBuilderFactory();
    DefaultSettingsBuilder builder = factory.newInstance();
    SettingsBuildingRequest request = new DefaultSettingsBuildingRequest();
    request.setUserSettingsFile(settingsFile);
    Settings settings;
    try {
        SettingsBuildingResult result = builder.build(request);
        settings = result.getEffectiveSettings();
        config.setSettings(settings);
    } catch (SettingsBuildingException exc) {
        throw new AssertionError("cannot build settings", exc);
    }

    String localRepo = props
            .getProperty(ServiceConstants.PID + "." + ServiceConstants.PROPERTY_LOCAL_REPOSITORY);
    if (localRepo != null) {
        settings.setLocalRepository(localRepo);
    }
    return config;
}

From source file:org.tawja.maven.discovery.util.Booter.java

License:Apache License

public static Settings getEffectiveSettings() {
    SettingsBuildingRequest settingsBuildingRequest = new DefaultSettingsBuildingRequest();
    settingsBuildingRequest.setSystemProperties(System.getProperties());
    settingsBuildingRequest.setUserSettingsFile(DEFAULT_USER_SETTINGS_FILE);
    settingsBuildingRequest.setGlobalSettingsFile(DEFAULT_GLOBAL_SETTINGS_FILE);

    SettingsBuildingResult settingsBuildingResult;
    DefaultSettingsBuilderFactory mvnSettingBuilderFactory = new DefaultSettingsBuilderFactory();
    DefaultSettingsBuilder settingsBuilder = mvnSettingBuilderFactory.newInstance();

    Settings effectiveSettings = null;//  ww w. j a va 2 s  . co m

    try {
        settingsBuildingResult = settingsBuilder.build(settingsBuildingRequest);

        effectiveSettings = settingsBuildingResult.getEffectiveSettings();
        /**
         * Map<String, Profile> profilesMap =
         * effectiveSettings.getProfilesAsMap();
         * Collection<RemoteRepository> remotes = new ArrayList<>(20); for
         * (String profileName : effectiveSettings.getActiveProfiles()) {
         * Profile profile = profilesMap.get(profileName); List<Repository>
         * repositories = profile.getRepositories(); for (Repository repo :
         * repositories) { RemoteRepository remoteRepo = new
         * RemoteRepository.Builder(repo.getId(), "default",
         * repo.getUrl()).build();
         *
         * remotes.add(remoteRepo); } }
         *
         */
    } catch (Exception ex) {
        throw new RuntimeException(ex);
    }
    return effectiveSettings;
}