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

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

Introduction

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

Prototype

@Override
    public DefaultSettingsBuildingRequest setGlobalSettingsFile(File globalSettingsFile) 

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(
            MAVEN_HOME != null ? MAVEN_HOME.resolve("conf").resolve(SETTINGS_XML).toFile() : null);
    request.setSystemProperties(getSystemProperties());

    try {//  w w  w . j  a v a  2s .co  m
        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//  ww  w.j a  v a  2 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.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  a  v  a2  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.universalmediaserver.external.AbstractExternalDependencyMojo.java

License:Apache License

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

License:Apache License

public static synchronized Settings getSettings() {
    Settings settings = null;//w  ww . j  av a2  s  . c  om
    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 {/*  ww  w  . ja  v a 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.appformer.maven.integration.embedder.MavenSettings.java

License:Apache License

private static Settings initSettings(SettingsSource userSettingsSource) {
    SettingsBuilder settingsBuilder = new DefaultSettingsBuilderFactory().newInstance();
    DefaultSettingsBuildingRequest request = new DefaultSettingsBuildingRequest();

    if (userSettingsSource != null) {
        request.setUserSettingsSource(userSettingsSource);
    }//from   ww  w  .ja  v a 2s  .c  om

    String mavenHome = System.getenv("M2_HOME");
    if (mavenHome != null) {
        File globalSettingsFile = new File(mavenHome + "/conf/settings.xml");
        if (globalSettingsFile.exists()) {
            request.setGlobalSettingsFile(globalSettingsFile);
        }
    } else {
        log.warn("Environment variable M2_HOME is not set");
    }

    request.setSystemProperties(System.getProperties());

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

    if (settings.getLocalRepository() == null) {
        String userHome = System.getProperty("user.home");
        if (userHome != null) {
            settings.setLocalRepository(userHome + "/.m2/repository");
        } else {
            log.error("Cannot find maven local repository");
        }
    }

    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));
    }/*from ww  w. j a va2 s .  com*/
    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.io.SettingsIO.java

License:Apache License

public void update(Settings settings, File settingsFile) throws ManipulationException {
    try {/*from  w  w w.  j  a v  a 2s. c o m*/
        Settings defaultSettings = new Settings();

        if (settingsFile.exists()) {
            DefaultSettingsBuildingRequest settingsRequest = new DefaultSettingsBuildingRequest();
            settingsRequest.setGlobalSettingsFile(settingsFile);
            defaultSettings = settingsBuilder.build(settingsRequest).getEffectiveSettings();
        }

        for (Profile profile : settings.getProfiles()) {
            Iterator<Profile> i = defaultSettings.getProfiles().iterator();
            while (i.hasNext()) {
                if (i.next().getId().equals(profile.getId())) {
                    i.remove();
                }
            }
            defaultSettings.addProfile(profile);
        }
        for (String activeProfile : settings.getActiveProfiles()) {
            Iterator<String> i = defaultSettings.getActiveProfiles().iterator();
            while (i.hasNext()) {
                if (i.next().equals(activeProfile)) {
                    i.remove();
                }
            }
            defaultSettings.addActiveProfile(activeProfile);
        }
        for (Mirror mirror : settings.getMirrors()) {
            defaultSettings.addMirror(mirror);
        }
        for (Proxy proxy : settings.getProxies()) {
            defaultSettings.addProxy(proxy);
        }
        for (Server server : settings.getServers()) {
            defaultSettings.addServer(server);
        }
        for (String pluginGroup : settings.getPluginGroups()) {
            defaultSettings.addPluginGroup(pluginGroup);
        }
        if (settings.getLocalRepository() != null) {
            defaultSettings.setLocalRepository(settings.getLocalRepository());
        }

        write(defaultSettings, settingsFile);
    } catch (SettingsBuildingException e) {
        throw new ManipulationException("Failed to build existing settings.xml for repo removal backup.", e,
                settingsFile, e.getMessage());
    }
}

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   w ww  . j a v  a  2 s.  c  o 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;
}