Example usage for org.apache.maven.execution MavenExecutionRequest getMirrors

List of usage examples for org.apache.maven.execution MavenExecutionRequest getMirrors

Introduction

In this page you can find the example usage for org.apache.maven.execution MavenExecutionRequest getMirrors.

Prototype

List<Mirror> getMirrors();

Source Link

Usage

From source file:org.echocat.jomon.maven.boot.ArtifactFactory.java

License:Mozilla Public License

@Nonnull
protected ArtifactResolutionRequest createRequestFor(@Nonnull MavenProject project,
        @Nonnull Artifact artifact) {// w  ww.  j a  v  a  2s. c o  m
    final MavenExecutionRequest request = _containerAndRequest.getRequest();
    final ArtifactResolutionRequest result = new ArtifactResolutionRequest();
    result.setArtifact(artifact);
    result.setLocalRepository(getLocalRepository());
    result.setRemoteRepositories(project.getRemoteArtifactRepositories());
    result.setServers(request.getServers());
    result.setOffline(request.isOffline());
    result.setMirrors(request.getMirrors());
    result.setProxies(request.getProxies());
    return result;
}

From source file:org.eclipse.m2e.core.internal.embedder.MavenImpl.java

License:Open Source License

public Mirror getMirror(ArtifactRepository repo) throws CoreException {
    MavenExecutionRequest request = createExecutionRequest(new NullProgressMonitor());
    populateDefaults(request);/*from w w w. j av  a2s  . com*/
    return lookup(RepositorySystem.class).getMirror(repo, request.getMirrors());
}

From source file:org.eclipse.m2e.core.internal.embedder.MavenImpl.java

License:Open Source License

public List<Mirror> getMirrors() throws CoreException {
    MavenExecutionRequest request = createExecutionRequest(null);
    populateDefaults(request);//from   ww w.  j a  v a  2  s . c om
    return request.getMirrors();
}

From source file:org.jboss.forge.addon.maven.projects.MavenBuildManager.java

License:Open Source License

@SuppressWarnings("deprecation")
private ProjectBuildingRequest getProjectBuildingRequest(final boolean offline) {
    ClassLoader cl = Thread.currentThread().getContextClassLoader();
    try {/*from  www . ja v a  2  s .c o  m*/
        Settings settings = container.getSettings();
        // TODO this needs to be configurable via .forge
        // TODO this reference to the M2_REPO should probably be centralized

        MavenExecutionRequest executionRequest = new DefaultMavenExecutionRequest();
        MavenExecutionRequestPopulator populator = getPlexus().lookup(MavenExecutionRequestPopulator.class);
        populator.populateFromSettings(executionRequest, container.getSettings());
        populator.populateDefaults(executionRequest);
        RepositorySystem system = getPlexus().lookup(RepositorySystem.class);
        ProjectBuildingRequest request = executionRequest.getProjectBuildingRequest();

        ArtifactRepository localRepository = RepositoryUtils.toArtifactRepository("local",
                new File(settings.getLocalRepository()).toURI().toURL().toString(), null, true, true);
        request.setLocalRepository(localRepository);

        List<ArtifactRepository> settingsRepos = new ArrayList<>(request.getRemoteRepositories());
        List<String> activeProfiles = settings.getActiveProfiles();

        Map<String, Profile> profiles = settings.getProfilesAsMap();

        for (String id : activeProfiles) {
            Profile profile = profiles.get(id);
            if (profile != null) {
                List<Repository> repositories = profile.getRepositories();
                for (Repository repository : repositories) {
                    settingsRepos.add(RepositoryUtils.convertFromMavenSettingsRepository(repository));
                }
            }
        }
        request.setRemoteRepositories(settingsRepos);
        request.setSystemProperties(System.getProperties());

        DefaultRepositorySystemSession repositorySession = MavenRepositorySystemUtils.newSession();
        Proxy activeProxy = settings.getActiveProxy();
        if (activeProxy != null) {
            DefaultProxySelector dps = new DefaultProxySelector();
            dps.add(RepositoryUtils.convertFromMavenProxy(activeProxy), activeProxy.getNonProxyHosts());
            repositorySession.setProxySelector(dps);
        }
        LocalRepository localRepo = new LocalRepository(settings.getLocalRepository());
        repositorySession
                .setLocalRepositoryManager(system.newLocalRepositoryManager(repositorySession, localRepo));
        repositorySession.setOffline(offline);
        List<Mirror> mirrors = executionRequest.getMirrors();
        if (mirrors != null) {
            DefaultMirrorSelector mirrorSelector = new DefaultMirrorSelector();
            for (Mirror mirror : mirrors) {
                mirrorSelector.add(mirror.getId(), mirror.getUrl(), mirror.getLayout(), false,
                        mirror.getMirrorOf(), mirror.getMirrorOfLayouts());
            }
            repositorySession.setMirrorSelector(mirrorSelector);
        }

        request.setRepositorySession(repositorySession);
        request.setProcessPlugins(false);
        request.setResolveDependencies(false);
        return request;
    } catch (RuntimeException e) {
        throw e;
    } catch (Exception e) {
        throw new RuntimeException("Could not create Maven project building request", e);
    } finally {
        /*
         * We reset the classloader to prevent potential modules bugs if Classwords container changes classloaders on
         * us
         */
        Thread.currentThread().setContextClassLoader(cl);
    }
}

From source file:org.jboss.forge.arquillian.maven.ProjectHelper.java

License:Open Source License

private ProjectBuildingRequest getBuildingRequest(PlexusContainer plexus) {
    if (this.request == null) {
        ClassLoader cl = Thread.currentThread().getContextClassLoader();
        try {/*w w  w.  j  a  va 2  s . co m*/
            Settings settings = mavenContainer.getSettings();
            // TODO this needs to be configurable via .forge
            // TODO this reference to the M2_REPO should probably be centralized
            MavenExecutionRequest executionRequest = new DefaultMavenExecutionRequest();

            RepositorySystem repositorySystem = plexus.lookup(RepositorySystem.class);
            MavenExecutionRequestPopulator requestPopulator = plexus
                    .lookup(MavenExecutionRequestPopulator.class);

            requestPopulator.populateFromSettings(executionRequest, settings);
            requestPopulator.populateDefaults(executionRequest);

            ProjectBuildingRequest request = executionRequest.getProjectBuildingRequest();

            org.apache.maven.artifact.repository.ArtifactRepository localRepository = RepositoryUtils
                    .toArtifactRepository("local",
                            new File(settings.getLocalRepository()).toURI().toURL().toString(), null, true,
                            true);
            request.setLocalRepository(localRepository);

            List<org.apache.maven.artifact.repository.ArtifactRepository> settingsRepos = new ArrayList<org.apache.maven.artifact.repository.ArtifactRepository>(
                    request.getRemoteRepositories());
            List<String> activeProfiles = settings.getActiveProfiles();

            Map<String, Profile> profiles = settings.getProfilesAsMap();

            for (String id : activeProfiles) {
                Profile profile = profiles.get(id);
                if (profile != null) {
                    List<Repository> repositories = profile.getRepositories();
                    for (Repository repository : repositories) {
                        settingsRepos.add(RepositoryUtils.convertFromMavenSettingsRepository(repository));
                    }
                }
            }
            request.setRemoteRepositories(settingsRepos);
            request.setSystemProperties(System.getProperties());

            DefaultRepositorySystemSession repositorySession = MavenRepositorySystemUtils.newSession();
            Proxy activeProxy = settings.getActiveProxy();
            if (activeProxy != null) {
                DefaultProxySelector dps = new DefaultProxySelector();
                dps.add(RepositoryUtils.convertFromMavenProxy(activeProxy), activeProxy.getNonProxyHosts());
                repositorySession.setProxySelector(dps);
            }
            LocalRepository localRepo = new LocalRepository(settings.getLocalRepository());

            repositorySession.setLocalRepositoryManager(
                    repositorySystem.newLocalRepositoryManager(repositorySession, localRepo));
            repositorySession.setOffline(settings.isOffline());
            List<Mirror> mirrors = executionRequest.getMirrors();
            DefaultMirrorSelector mirrorSelector = new DefaultMirrorSelector();
            if (mirrors != null) {
                for (Mirror mirror : mirrors) {
                    mirrorSelector.add(mirror.getId(), mirror.getUrl(), mirror.getLayout(), false,
                            mirror.getMirrorOf(), mirror.getMirrorOfLayouts());
                }
            }
            repositorySession.setMirrorSelector(mirrorSelector);

            LazyAuthenticationSelector authSelector = new LazyAuthenticationSelector(mirrorSelector);
            for (Server server : settings.getServers()) {
                authSelector.add(server.getId(),
                        new AuthenticationBuilder().addUsername(server.getUsername())
                                .addPassword(server.getPassword())
                                .addPrivateKey(server.getPrivateKey(), server.getPassphrase()).build());
            }
            repositorySession.setAuthenticationSelector(authSelector);

            request.setRepositorySession(repositorySession);
            request.setProcessPlugins(false);
            request.setResolveDependencies(false);
            this.request = request;
        } catch (RuntimeException e) {
            throw e;
        } catch (Exception e) {
            throw new RuntimeException("Could not create Maven project building request", e);
        } finally {
            /*
             * We reset the classloader to prevent potential modules bugs if Classwords container changes classloaders
             * on us
             */
            Thread.currentThread().setContextClassLoader(cl);
        }
    }
    return request;
}

From source file:org.sourcepit.maven.bootstrap.core.AbstractBootstrapper.java

License:Apache License

private ArtifactResolutionResult resolve(MavenSession session, MavenProject project, Dependency dependency) {
    final ArtifactResolutionRequest request = new ArtifactResolutionRequest();
    request.setResolveRoot(true);/*from   w  ww.  ja  va2 s.  c  om*/
    request.setResolveTransitively(true);

    final AndArtifactFilter artifactFilter = new AndArtifactFilter();
    artifactFilter.add(new ScopeArtifactFilter(org.apache.maven.artifact.Artifact.SCOPE_RUNTIME_PLUS_SYSTEM));
    artifactFilter.add(new ExclusionSetFilter(artifactFilterManager.getCoreArtifactExcludes()));

    request.setResolutionFilter(artifactFilter);
    request.setCollectionFilter(artifactFilter);

    final MavenExecutionRequest executionRequest = session.getRequest();
    request.setForceUpdate(executionRequest.isUpdateSnapshots());
    request.setServers(executionRequest.getServers());
    request.setMirrors(executionRequest.getMirrors());
    request.setProxies(executionRequest.getProxies());

    request.setOffline(session.isOffline());
    request.setLocalRepository(session.getLocalRepository());

    // project specific
    request.setRemoteRepositories(project.getRemoteArtifactRepositories());

    // important to NOT apply dep management here, leeds to unexpected side effects, e.g. when osgifier is managed in
    // project which is build. So separate deps from project which is build and build system is a good thing.
    // Note: we must explicitly set an empty map to prevent managed version resolution via maven session
    request.setManagedVersionMap(new HashMap<String, Artifact>());

    request.setArtifact(repositorySystem.createDependencyArtifact(dependency));

    final ArtifactResolutionResult result = repositorySystem.resolve(request);
    try {
        resolutionErrorHandler.throwErrors(request, result);
    } catch (ArtifactResolutionException e) {
        throw new IllegalStateException(e);
    }
    return result;
}

From source file:org.springframework.ide.vscode.commons.maven.MavenBridge.java

License:Open Source License

public Mirror getMirror(ArtifactRepository repo) throws MavenException {
    MavenExecutionRequest request = createExecutionRequest();
    populateDefaults(request);//  w  ww .j a v  a2s .  c om
    return lookup(RepositorySystem.class).getMirror(repo, request.getMirrors());
}

From source file:org.springframework.ide.vscode.commons.maven.MavenBridge.java

License:Open Source License

public List<Mirror> getMirrors() throws MavenException {
    MavenExecutionRequest request = createExecutionRequest();
    populateDefaults(request);//from   w  w  w .j  a v a 2 s .  c  o  m
    return request.getMirrors();
}