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

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

Introduction

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

Prototype

@Override
    public DefaultSettingsBuildingRequest setUserSettingsFile(File userSettingsFile) 

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(//w w w.  jav  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.google.devtools.build.lib.bazel.repository.MavenServerFunction.java

License:Open Source License

@Nullable
@Override/*from  w  w  w  .  j a  v a  2  s.  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.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 www.  j  a  va 2s  . 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.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  a  v  a 2 s. c om

    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.universalmediaserver.external.AbstractExternalDependencyMojo.java

License:Apache License

/**
 * Generates a settings builder request from parameters.
 * @return/*from  w ww.  j ava  2 s.c om*/
 *          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:io.fabric8.maven.util.MavenUtils.java

License:Apache License

public static synchronized Settings getSettings() {
    Settings settings = null;/*from  ww w .jav  a  2 s. co m*/
    DefaultSettingsBuildingRequest request = new DefaultSettingsBuildingRequest();
    File userSettingsFile = safeGetFile(USER_SETTINGS_FILE);
    File globalMavenSettingsFile = safeGetFile(GLOBAL_MAVEN_SETTINGS_FILE);
    if (globalMavenSettingsFile == null) {
        globalMavenSettingsFile = safeGetFile(GLOBAL_M2_SETTINGS_FILE);
    }

    if (userSettingsFile != null) {
        request.setUserSettingsFile(userSettingsFile);
    }
    if (globalMavenSettingsFile != null) {
        request.setGlobalSettingsFile(globalMavenSettingsFile);
    }

    request.setSystemProperties(System.getProperties());

    try {
        settings = settingsBuilder.build(request).getEffectiveSettings();
    } catch (SettingsBuildingException e) {
        LOGGER.warn("Could not process settings.xml: ", e);
    }

    try {
        SettingsDecrypter settingsDecrypter = createSettingsDecrypter();
        SettingsDecryptionResult result = settingsDecrypter
                .decrypt(new DefaultSettingsDecryptionRequest(settings));
        settings.setServers(result.getServers());
        settings.setProxies(result.getProxies());
    } catch (Exception ex) {
        LOGGER.warn("Failed to decrypt maven settings.", ex);
    }
    return settings;
}

From source file:jbundler.AetherSettings.java

License:Open Source License

synchronized Settings getSettings() {
    if (settings == null) {
        DefaultSettingsBuildingRequest request = new DefaultSettingsBuildingRequest();
        request.setUserSettingsFile(getUserSettings());
        request.setGlobalSettingsFile(getGlobalSettings());
        request.setSystemProperties(getSystemProperties());
        request.setUserProperties(getUserProperties());

        try {// w  w w.j ava 2 s . c  o  m
            settings = settingsBuilder.build(request).getEffectiveSettings();
        } catch (SettingsBuildingException e) {
            //log( "Could not process settings.xml: " + e.getMessage(), e );
        }

        //            SettingsDecryptionResult result =
        //                settingsDecrypter.decrypt( new DefaultSettingsDecryptionRequest( settings ) );
        //            settings.setServers( result.getServers() );
        //            settings.setProxies( result.getProxies() );
    }
    return settings;
}

From source file:org.commonjava.maven.ext.cli.Cli.java

License:Apache License

private Settings parseSettings(File settings)
        throws PlexusContainerException, ComponentLookupException, SettingsBuildingException {
    PlexusContainer container = new DefaultPlexusContainer();
    DefaultSettingsBuildingRequest settingsRequest = new DefaultSettingsBuildingRequest();
    settingsRequest.setUserSettingsFile(settings);
    settingsRequest.setGlobalSettingsFile(DEFAULT_GLOBAL_SETTINGS_FILE);
    settingsRequest.setUserProperties(session.getUserProperties());
    settingsRequest.setSystemProperties(System.getProperties());

    SettingsBuilder settingsBuilder = container.lookup(SettingsBuilder.class);
    SettingsBuildingResult settingsResult = settingsBuilder.build(settingsRequest);
    Settings effectiveSettings = settingsResult.getEffectiveSettings();

    ProfileSelector profileSelector = container.lookup(ProfileSelector.class);
    ProfileActivationContext profileActivationContext = new DefaultProfileActivationContext()
            .setActiveProfileIds(effectiveSettings.getActiveProfiles());
    List<org.apache.maven.model.Profile> modelProfiles = new ArrayList<>();
    for (Profile profile : effectiveSettings.getProfiles()) {
        modelProfiles.add(SettingsUtils.convertFromSettingsProfile(profile));
    }/* w  ww . j a va2s.  co  m*/
    List<org.apache.maven.model.Profile> activeModelProfiles = profileSelector.getActiveProfiles(modelProfiles,
            profileActivationContext, new ModelProblemCollector() {

                @Override
                public void add(ModelProblemCollectorRequest modelProblemCollectorRequest) {
                    // do nothing
                }
            });
    List<String> activeProfiles = new ArrayList<>();
    for (org.apache.maven.model.Profile profile : activeModelProfiles) {
        activeProfiles.add(profile.getId());
    }
    effectiveSettings.setActiveProfiles(activeProfiles);

    return effectiveSettings;
}

From source file:org.commonjava.maven.ext.manip.Cli.java

License:Apache License

private Settings parseSettings(File settings)
        throws PlexusContainerException, ComponentLookupException, SettingsBuildingException {
    PlexusContainer container = new DefaultPlexusContainer();
    DefaultSettingsBuildingRequest settingsRequest = new DefaultSettingsBuildingRequest();
    settingsRequest.setUserSettingsFile(settings);
    settingsRequest.setGlobalSettingsFile(DEFAULT_GLOBAL_SETTINGS_FILE);

    SettingsBuilder settingsBuilder = container.lookup(SettingsBuilder.class);
    SettingsBuildingResult settingsResult = settingsBuilder.build(settingsRequest);
    Settings effectiveSettings = settingsResult.getEffectiveSettings();

    ProfileSelector profileSelector = container.lookup(ProfileSelector.class);
    ProfileActivationContext profileActivationContext = new DefaultProfileActivationContext()
            .setActiveProfileIds(effectiveSettings.getActiveProfiles());
    List<org.apache.maven.model.Profile> modelProfiles = new ArrayList<>();
    for (Profile profile : effectiveSettings.getProfiles()) {
        modelProfiles.add(SettingsUtils.convertFromSettingsProfile(profile));
    }/*from  www . j  av  a 2 s. co m*/
    List<org.apache.maven.model.Profile> activeModelProfiles = profileSelector.getActiveProfiles(modelProfiles,
            profileActivationContext, new ModelProblemCollector() {

                @Override
                public void add(ModelProblem.Severity severity, String message, InputLocation location,
                        Exception cause) {
                    // do nothing
                }
            });
    List<String> activeProfiles = new ArrayList<>();
    for (org.apache.maven.model.Profile profile : activeModelProfiles) {
        activeProfiles.add(profile.getId());
    }
    effectiveSettings.setActiveProfiles(activeProfiles);

    return effectiveSettings;
}

From source file:org.eclipse.aether.ant.AntRepoSys.java

License:Open Source License

private synchronized Settings getSettings() {
    if (settings == null) {
        DefaultSettingsBuildingRequest request = new DefaultSettingsBuildingRequest();
        request.setUserSettingsFile(getUserSettings());
        request.setGlobalSettingsFile(getGlobalSettings());
        request.setSystemProperties(getSystemProperties());
        request.setUserProperties(getUserProperties());

        try {/*from  w  w w.j av a2s.  c  om*/
            settings = settingsBuilder.build(request).getEffectiveSettings();
        } catch (SettingsBuildingException e) {
            project.log("Could not process settings.xml: " + e.getMessage(), e, Project.MSG_WARN);
        }

        SettingsDecryptionResult result = settingsDecrypter
                .decrypt(new DefaultSettingsDecryptionRequest(settings));
        settings.setServers(result.getServers());
        settings.setProxies(result.getProxies());
    }
    return settings;
}