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

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

Introduction

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

Prototype

DefaultSettingsBuildingRequest

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(// ww w . j a v a  2s  .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 {//from   w w w . ja v a  2 s .  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//from  w  w w .j av a  2s. c o 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  av  a 2  s  .com*/
        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}/*from w w  w  .j  av a  2  s .c om*/
 */
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   www. j av  a 2  s  . c  om
    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.redhat.rcm.version.config.DefaultSessionConfigurator.java

License:Open Source License

private void loadSettings(final VersionManagerSession session) {
    MavenExecutionRequest executionRequest = session.getExecutionRequest();
    if (executionRequest == null) {
        executionRequest = new DefaultMavenExecutionRequest();
    }/*from  w  w  w  .  j  av  a  2  s .co  m*/

    File settingsXml;
    try {
        settingsXml = getFile(session.getSettingsXml(), session.getDownloads());
    } catch (final VManException e) {
        session.addError(e);
        return;
    }

    final DefaultSettingsBuildingRequest req = new DefaultSettingsBuildingRequest();
    req.setUserSettingsFile(settingsXml);
    req.setSystemProperties(System.getProperties());

    try {
        final SettingsBuildingResult result = settingsBuilder.build(req);
        final Settings settings = result.getEffectiveSettings();

        final String proxyHost = System.getProperty("http.proxyHost");
        final String proxyPort = System.getProperty("http.proxyPort", "8080");
        final String nonProxyHosts = System.getProperty("http.nonProxyHosts", "localhost");

        final String proxyUser = System.getProperty("http.proxyUser");
        final String proxyPassword = System.getProperty("http.proxyPassword");
        if (proxyHost != null) {
            final Proxy proxy = new Proxy();
            proxy.setActive(true);
            proxy.setHost(proxyHost);
            proxy.setId("cli");
            proxy.setNonProxyHosts(nonProxyHosts);
            proxy.setPort(Integer.parseInt(proxyPort));

            if (proxyUser != null && proxyPassword != null) {
                proxy.setUsername(proxyUser);
                proxy.setPassword(proxyPassword);

                Authenticator.setDefault(new Authenticator() {
                    @Override
                    public PasswordAuthentication getPasswordAuthentication() {
                        return new PasswordAuthentication(proxyUser, proxyPassword.toCharArray());
                    }
                });
            }

            settings.setProxies(Collections.singletonList(proxy));
        }

        executionRequest = requestPopulator.populateFromSettings(executionRequest, settings);
        session.setExecutionRequest(executionRequest);
    } catch (final SettingsBuildingException e) {
        session.addError(new VManException("Failed to build settings from: %s. Reason: %s", e, settingsXml,
                e.getMessage()));
    } catch (final MavenExecutionRequestPopulationException e) {
        session.addError(new VManException("Failed to initialize system using settings from: %s. Reason: %s", e,
                settingsXml, e.getMessage()));
    }
}

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   w w w . j  a v  a  2 s .  com
    try {
        SettingsBuildingResult settingsBuildingResult = settingsBuilder.build(settingsBuildingRequest);
        settings = settingsBuildingResult.getEffectiveSettings();
    } catch (SettingsBuildingException unexpected) {
        throw new IllegalStateException(unexpected);
    }
    return new MavenSettings(settings);
}

From source file:com.universalmediaserver.external.AbstractExternalDependencyMojo.java

License:Apache License

/**
 * Generates a settings builder request from parameters.
 * @return/*from   w  w w  . jav  a2 s.c  o  m*/
 *          The SettingsBuilderRequest instance
 */
public SettingsBuildingRequest getSettingsBuildingRequest() {
    DefaultSettingsBuildingRequest request = new DefaultSettingsBuildingRequest();
    if (userSettings != null) {
        request.setUserSettingsFile(new File(userSettings));
    }
    if (globalSettings != null) {
        request.setGlobalSettingsFile(new File(globalSettings));
    }
    return request;
}

From source file:fr.jetoile.hadoopunit.HadoopStandaloneBootstrap.java

License:Apache License

private static Settings getLocalSettings(String mavenHome) {
    if (settings == null) {
        File globalSettingsFile = new File(mavenHome + "/conf/settings.xml");
        if (!globalSettingsFile.exists()) {
            LOGGER.error("maven global settings.xml file not found : {}", globalSettingsFile);
        }/*from w ww .ja  v a  2  s  .  co  m*/

        File userSettingsFile = new File(System.getProperty("user.home") + "/.m2/settings.xml");
        if (!userSettingsFile.exists()) {
            LOGGER.info("maven user settings.xml override file not found : {}", userSettingsFile);
        }

        PlexusContainer container = mvnContainer();

        SettingsBuilder defaultSettingsBuilder = null;
        try {
            defaultSettingsBuilder = container.lookup(SettingsBuilder.class);
        } catch (ComponentLookupException e) {
            LOGGER.error("unable to lookup SettingsBuilder", e);
        }
        SettingsBuildingRequest settingsRequest = new DefaultSettingsBuildingRequest();
        settingsRequest.setGlobalSettingsFile(globalSettingsFile);
        settingsRequest.setUserSettingsFile(userSettingsFile);
        try {
            settings = defaultSettingsBuilder.build(settingsRequest).getEffectiveSettings();
        } catch (SettingsBuildingException e) {
            LOGGER.error("unable to get settings", e);
        }
    }
    return settings;
}