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

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

Introduction

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

Prototype

DefaultSettingsBuilderFactory

Source Link

Usage

From source file:capsule.UserSettings.java

License:Open Source License

private UserSettings() {
    final DefaultSettingsBuildingRequest request = new DefaultSettingsBuildingRequest();
    request.setUserSettingsFile(DEFAULT_LOCAL_MAVEN.resolve(SETTINGS_XML).toFile());
    request.setGlobalSettingsFile(//  www  .  ja  va2 s  . c o m
            MAVEN_HOME != null ? MAVEN_HOME.resolve("conf").resolve(SETTINGS_XML).toFile() : null);
    request.setSystemProperties(getSystemProperties());

    try {
        this.settings = new DefaultSettingsBuilderFactory().newInstance().build(request).getEffectiveSettings();
        final SettingsDecryptionResult result = newDefaultSettingsDecrypter()
                .decrypt(new DefaultSettingsDecryptionRequest(settings));

        settings.setServers(result.getServers());
        settings.setProxies(result.getProxies());
    } catch (SettingsBuildingException e) {
        throw new RuntimeException(e);
    }
}

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

License:Apache License

private Settings buildMavenSettings() {
    try {//  w w  w  .j  a va 2s  . c  om
        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.google.devtools.build.lib.bazel.repository.MavenServerFunction.java

License:Open Source License

@Nullable
@Override//  w  w  w. j a va2 s.co m
public SkyValue compute(SkyKey skyKey, Environment env)
        throws InterruptedException, RepositoryFunctionException {
    String repository = (String) skyKey.argument();
    Rule repositoryRule = null;
    try {
        repositoryRule = RepositoryFunction.getRule(repository, env);
    } catch (RepositoryNotFoundException ex) {
        // Ignored. We throw a new one below.
    }
    BlazeDirectories directories = PrecomputedValue.BLAZE_DIRECTORIES.get(env);
    if (env.valuesMissing()) {
        return null;
    }
    String serverName;
    String url;
    Map<String, FileValue> settingsFiles;
    boolean foundRepoRule = repositoryRule != null
            && repositoryRule.getRuleClass().equals(MavenServerRule.NAME);
    if (!foundRepoRule) {
        if (repository.equals(MavenServerValue.DEFAULT_ID)) {
            settingsFiles = getDefaultSettingsFile(directories, env);
            serverName = MavenServerValue.DEFAULT_ID;
            url = MavenConnector.getMavenCentralRemote().getUrl();
        } else {
            throw new RepositoryFunctionException(
                    new IOException("Could not find maven repository " + repository), Transience.TRANSIENT);
        }
    } else {
        WorkspaceAttributeMapper mapper = WorkspaceAttributeMapper.of(repositoryRule);
        serverName = repositoryRule.getName();
        try {
            url = mapper.get("url", Type.STRING);
            if (!mapper.isAttributeValueExplicitlySpecified("settings_file")) {
                settingsFiles = getDefaultSettingsFile(directories, env);
            } else {
                PathFragment settingsFilePath = new PathFragment(mapper.get("settings_file", Type.STRING));
                RootedPath settingsPath = RootedPath.toRootedPath(
                        directories.getWorkspace().getRelative(settingsFilePath), PathFragment.EMPTY_FRAGMENT);
                FileValue fileValue = (FileValue) env.getValue(FileValue.key(settingsPath));
                if (fileValue == null) {
                    return null;
                }

                if (!fileValue.exists()) {
                    throw new RepositoryFunctionException(
                            new IOException("Could not find settings file " + settingsPath),
                            Transience.TRANSIENT);
                }
                settingsFiles = ImmutableMap.<String, FileValue>builder().put(USER_KEY, fileValue).build();
            }
        } catch (EvalException e) {
            throw new RepositoryFunctionException(e, Transience.PERSISTENT);
        }
    }

    if (settingsFiles == null) {
        return null;
    }

    Fingerprint fingerprint = new Fingerprint();
    try {
        for (Map.Entry<String, FileValue> entry : settingsFiles.entrySet()) {
            fingerprint.addString(entry.getKey());
            Path path = entry.getValue().realRootedPath().asPath();
            if (path.exists()) {
                fingerprint.addBoolean(true);
                fingerprint.addBytes(path.getDigest());
            } else {
                fingerprint.addBoolean(false);
            }
        }
    } catch (IOException e) {
        throw new RepositoryFunctionException(e, Transience.TRANSIENT);
    }

    byte[] fingerprintBytes = fingerprint.digestAndReset();

    if (settingsFiles.isEmpty()) {
        return new MavenServerValue(serverName, url, new Server(), fingerprintBytes);
    }

    DefaultSettingsBuildingRequest request = new DefaultSettingsBuildingRequest();
    if (settingsFiles.containsKey(SYSTEM_KEY)) {
        request.setGlobalSettingsFile(settingsFiles.get(SYSTEM_KEY).realRootedPath().asPath().getPathFile());
    }
    if (settingsFiles.containsKey(USER_KEY)) {
        request.setUserSettingsFile(settingsFiles.get(USER_KEY).realRootedPath().asPath().getPathFile());
    }
    DefaultSettingsBuilder builder = (new DefaultSettingsBuilderFactory()).newInstance();
    SettingsBuildingResult result;
    try {
        result = builder.build(request);
    } catch (SettingsBuildingException e) {
        throw new RepositoryFunctionException(
                new IOException("Error parsing settings files: " + e.getMessage()), Transience.TRANSIENT);
    }
    if (!result.getProblems().isEmpty()) {
        throw new RepositoryFunctionException(new IOException(
                "Errors interpreting settings file: " + Arrays.toString(result.getProblems().toArray())),
                Transience.PERSISTENT);
    }
    Settings settings = result.getEffectiveSettings();
    Server server = settings.getServer(serverName);
    server = server == null ? new Server() : server;
    return new MavenServerValue(serverName, url, server, fingerprintBytes);
}

From source file:com.liferay.blade.cli.aether.AetherClient.java

License:Open Source License

private static Settings _buildSettings() {
    SettingsBuildingRequest request = new DefaultSettingsBuildingRequest();

    request.setGlobalSettingsFile(_DEFAULT_GLOBAL_SETTINGS_FILE);
    request.setUserSettingsFile(_USER_MAVEN_DEFAULT_USER_SETTINGS_FILE);

    try {/*from w w w  .  j  a v  a  2  s  .c  o m*/
        DefaultSettingsBuilder builder = new DefaultSettingsBuilderFactory().newInstance();

        return builder.build(request).getEffectiveSettings();
    } catch (SettingsBuildingException sbe) {
        sbe.printStackTrace();

        return null;
    }
}

From source file:com.oracle.bedrock.maven.Maven.java

License:CDDL license

/**
 * Obtain the Maven {@link Settings} for this {@link Maven}
 * given the specified {@link Platform} and {@link OptionsByType}.
 *
 * @param platform       the {@link Platform} on which an {@link Application} will be launched
 * @param optionsByType  the launch {@link OptionsByType}
 *
 * @return  a new {@link Settings}//  w ww .  ja va2 s . c  o m
 */
private Settings getSettings(Platform platform, OptionsByType optionsByType) {
    SettingsBuilder settingsBuilder = new DefaultSettingsBuilderFactory().newInstance();

    DefaultSettingsBuildingRequest request = new DefaultSettingsBuildingRequest();

    request.setGlobalSettingsFile(globalSettingsFile);

    request.setUserSettingsFile(userSettingsFile);

    // we use the system-properties of the current process to resolve artifacts
    request.setSystemProperties(System.getProperties());

    Settings settings;

    try {
        settings = settingsBuilder.build(request).getEffectiveSettings();

        return settings;
    } catch (SettingsBuildingException e) {
        LOGGER.log(Level.WARNING, "Could not process settings.xml: " + e.getMessage(), e);

        throw new IllegalArgumentException("Could not process the settings.xml", e);
    }
}

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 w w .jav  a  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;//from   ww w  . jav  a2 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;//from   w ww . jav 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("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: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  ww  .  j  a  va2  s .  com
    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 .  j a v a 2 s. com
        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);
    }
}