Example usage for org.apache.maven.artifact.resolver ArtifactResolutionRequest setServers

List of usage examples for org.apache.maven.artifact.resolver ArtifactResolutionRequest setServers

Introduction

In this page you can find the example usage for org.apache.maven.artifact.resolver ArtifactResolutionRequest setServers.

Prototype

public ArtifactResolutionRequest setServers(List<Server> servers) 

Source Link

Usage

From source file:io.gatling.mojo.AbstractGatlingMojo.java

License:Apache License

private File getCompilerJar() throws Exception {
    Artifact artifact = repository.createArtifact("org.scala-lang", "scala-compiler", SCALA_VERSION,
            Artifact.SCOPE_RUNTIME, "jar");

    ArtifactResolutionRequest request = new ArtifactResolutionRequest();
    request.setArtifact(artifact);//w  w  w.ja  v  a  2 s  . c  o m

    request.setResolveRoot(true).setResolveTransitively(false);
    request.setServers(session.getRequest().getServers());
    request.setMirrors(session.getRequest().getMirrors());
    request.setProxies(session.getRequest().getProxies());
    request.setLocalRepository(session.getLocalRepository());
    request.setRemoteRepositories(session.getRequest().getRemoteRepositories());
    repository.resolve(request);

    return artifact.getFile();
}

From source file:io.sarl.maven.compiler.MavenHelper.java

License:Apache License

/** Replies the dependencies for the given artifact.
 *
 * @param artifactId - the artifact identifier.
 * @param plugins indicates if the map of the plugin artifacts must be explore (if true) or the dependency
 *     artifacts (if false)./*from   www  .  j a v  a2  s.  c om*/
 * @return the dependencies.
 * @throws MojoExecutionException if the resolution cannot be done.
 */
public Set<Artifact> resolveDependencies(String artifactId, boolean plugins) throws MojoExecutionException {
    final Artifact pluginArtifact;
    if (plugins) {
        pluginArtifact = getSession().getCurrentProject().getPluginArtifactMap().get(artifactId);
    } else {
        pluginArtifact = getSession().getCurrentProject().getArtifactMap().get(artifactId);
    }

    final ArtifactResolutionRequest request = new ArtifactResolutionRequest();
    request.setResolveRoot(false);
    request.setResolveTransitively(true);
    request.setLocalRepository(getSession().getLocalRepository());
    request.setOffline(getSession().isOffline());
    request.setForceUpdate(getSession().getRequest().isUpdateSnapshots());
    request.setServers(getSession().getRequest().getServers());
    request.setMirrors(getSession().getRequest().getMirrors());
    request.setProxies(getSession().getRequest().getProxies());
    request.setArtifact(pluginArtifact);

    final ArtifactResolutionResult result = this.repositorySystem.resolve(request);

    try {
        this.resolutionErrorHandler.throwErrors(request, result);
    } catch (MultipleArtifactsNotFoundException e) {
        final Collection<Artifact> missing = new HashSet<>(e.getMissingArtifacts());
        if (!missing.isEmpty()) {
            throw new MojoExecutionException(e.getLocalizedMessage(), e);
        }
    } catch (ArtifactResolutionException e) {
        throw new MojoExecutionException(e.getLocalizedMessage(), e);
    }

    return result.getArtifacts();
}

From source file:org.apache.aries.versioning.mojo.VersionCheckerMojo.java

License:Apache License

private File resolve(String artifactDescriptor) {
    String[] s = artifactDescriptor.split(":");

    String type = (s.length >= 4 ? s[3] : "jar");
    Artifact artifact = repository.createArtifact(s[0], s[1], s[2], type);

    ArtifactResolutionRequest request = new ArtifactResolutionRequest();
    request.setArtifact(artifact);//from   www .  j  a va2 s.com

    request.setResolveRoot(true).setResolveTransitively(false);
    request.setServers(session.getRequest().getServers());
    request.setMirrors(session.getRequest().getMirrors());
    request.setProxies(session.getRequest().getProxies());
    request.setLocalRepository(session.getLocalRepository());
    request.setRemoteRepositories(session.getRequest().getRemoteRepositories());
    repository.resolve(request);
    return artifact.getFile();
}

From source file:org.apache.cxf.maven_plugin.AbstractCodegenMoho.java

License:Apache License

private Artifact resolveArbitraryWsdl(Artifact artifact) {
    ArtifactResolutionRequest request = new ArtifactResolutionRequest();
    request.setArtifact(artifact);//from  ww w.  ja  v a2s.c o m
    request.setResolveRoot(true).setResolveTransitively(false);
    request.setServers(mavenSession.getRequest().getServers());
    request.setMirrors(mavenSession.getRequest().getMirrors());
    request.setProxies(mavenSession.getRequest().getProxies());
    request.setLocalRepository(mavenSession.getLocalRepository());
    request.setRemoteRepositories(mavenSession.getRequest().getRemoteRepositories());
    ArtifactResolutionResult result = repositorySystem.resolve(request);

    return result.getOriginatingArtifact();
}

From source file:org.apache.cxf.maven_plugin.AbstractXSDToJavaMojo.java

License:Apache License

private List<File> resolve(String artifactDescriptor) throws MojoExecutionException {
    String[] s = artifactDescriptor.split(":");

    String type = s.length >= 4 ? s[3] : "jar";
    Artifact artifact = repository.createArtifact(s[0], s[1], s[2], type);

    ArtifactResolutionRequest request = new ArtifactResolutionRequest();
    request.setArtifact(artifact);/*from www.  j ava  2 s  .co m*/

    request.setResolveRoot(true).setResolveTransitively(true);
    request.setServers(session.getRequest().getServers());
    request.setMirrors(session.getRequest().getMirrors());
    request.setProxies(session.getRequest().getProxies());
    request.setLocalRepository(session.getLocalRepository());
    List<ArtifactRepository> r = new ArrayList<ArtifactRepository>();
    r.addAll(project.getPluginArtifactRepositories());
    r.addAll(project.getRemoteArtifactRepositories());
    r.addAll(session.getRequest().getRemoteRepositories());
    r.addAll(session.getRequest().getPluginArtifactRepositories());
    request.setRemoteRepositories(r);
    ArtifactResolutionResult result = repository.resolve(request);
    List<File> files = new ArrayList<File>();
    for (Artifact a : result.getArtifacts()) {
        if (a.getFile() == null) {
            throw new MojoExecutionException(
                    "Unable to resolve " + a.toString() + " while resolving " + artifactDescriptor);
        }
        files.add(a.getFile());
    }
    if (!files.contains(artifact.getFile())) {
        files.add(artifact.getFile());
    }
    return files;
}

From source file:org.apache.cxf.maven_plugin.wadlto.AbstractCodeGeneratorMojo.java

License:Apache License

private Artifact resolveRemoteWadlArtifact(Artifact artifact) throws MojoExecutionException {

    /**/*from   w  w w  .j a v a2 s  .  c  o  m*/
     * First try to find the artifact in the reactor projects of the maven session.
     * So an artifact that is not yet built can be resolved
     */
    List<MavenProject> rProjects = mavenSession.getProjects();
    for (MavenProject rProject : rProjects) {
        if (artifact.getGroupId().equals(rProject.getGroupId())
                && artifact.getArtifactId().equals(rProject.getArtifactId())
                && artifact.getVersion().equals(rProject.getVersion())) {
            Set<Artifact> artifacts = rProject.getArtifacts();
            for (Artifact pArtifact : artifacts) {
                if ("wadl".equals(pArtifact.getType())) {
                    return pArtifact;
                }
            }
        }
    }

    ArtifactResolutionRequest request = new ArtifactResolutionRequest();
    request.setArtifact(artifact);
    request.setResolveRoot(true).setResolveTransitively(false);
    request.setServers(mavenSession.getRequest().getServers());
    request.setMirrors(mavenSession.getRequest().getMirrors());
    request.setProxies(mavenSession.getRequest().getProxies());
    request.setLocalRepository(mavenSession.getLocalRepository());
    request.setRemoteRepositories(mavenSession.getRequest().getRemoteRepositories());
    ArtifactResolutionResult result = repositorySystem.resolve(request);

    return result.getOriginatingArtifact();
}

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

License:Mozilla Public License

@Nonnull
protected ArtifactResolutionRequest createRequestFor(@Nonnull MavenProject project,
        @Nonnull Artifact artifact) {/* ww w. j a v  a  2  s.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.che.maven.CheArtifactResolver.java

License:Apache License

private void injectSession2(ArtifactResolutionRequest request, MavenSession session) {
    injectSession1(request, session);/*  w w  w.j  a v a 2 s. c o  m*/

    if (session != null) {
        request.setServers(session.getRequest().getServers());
        request.setMirrors(session.getRequest().getMirrors());
        request.setProxies(session.getRequest().getProxies());
    }
}

From source file:org.eclipse.che.maven.CheArtifactResolver.java

License:Apache License

public ArtifactResolutionResult resolve(ArtifactResolutionRequest request) {
    Artifact rootArtifact = request.getArtifact();
    Set<Artifact> artifacts = request.getArtifactDependencies();
    Map<String, Artifact> managedVersions = request.getManagedVersionMap();
    List<ResolutionListener> listeners = request.getListeners();
    ArtifactFilter collectionFilter = request.getCollectionFilter();
    ArtifactFilter resolutionFilter = request.getResolutionFilter();
    RepositorySystemSession session = getSession(request.getLocalRepository());

    //TODO: hack because metadata isn't generated in m2e correctly and i want to run the maven i have in the workspace
    if (source == null) {
        try {//from w  ww  .j a  v a  2  s.com
            source = container.lookup(ArtifactMetadataSource.class);
        } catch (ComponentLookupException e) {
            // won't happen
        }
    }

    if (listeners == null) {
        listeners = new ArrayList<ResolutionListener>();

        if (logger.isDebugEnabled()) {
            listeners.add(new DebugResolutionListener(logger));
        }

        listeners.add(new WarningResolutionListener(logger));
    }

    ArtifactResolutionResult result = new ArtifactResolutionResult();

    // The root artifact may, or may not be resolved so we need to check before we attempt to resolve.
    // This is often an artifact like a POM that is taken from disk and we already have hold of the
    // file reference. But this may be a Maven Plugin that we need to resolve from a remote repository
    // as well as its dependencies.

    if (request.isResolveRoot() /* && rootArtifact.getFile() == null */) {
        try {
            resolve(rootArtifact, request.getRemoteRepositories(), session);
        } catch (ArtifactResolutionException e) {
            result.addErrorArtifactException(e);
            return result;
        } catch (ArtifactNotFoundException e) {
            result.addMissingArtifact(request.getArtifact());
            return result;
        }
    }

    ArtifactResolutionRequest collectionRequest = request;

    if (request.isResolveTransitively()) {
        MetadataResolutionRequest metadataRequest = new DefaultMetadataResolutionRequest(request);

        metadataRequest.setArtifact(rootArtifact);
        metadataRequest.setResolveManagedVersions(managedVersions == null);

        try {
            ResolutionGroup resolutionGroup = source.retrieve(metadataRequest);

            if (managedVersions == null) {
                managedVersions = resolutionGroup.getManagedVersions();
            }

            Set<Artifact> directArtifacts = resolutionGroup.getArtifacts();

            if (artifacts == null || artifacts.isEmpty()) {
                artifacts = directArtifacts;
            } else {
                List<Artifact> allArtifacts = new ArrayList<Artifact>();
                allArtifacts.addAll(artifacts);
                allArtifacts.addAll(directArtifacts);

                Map<String, Artifact> mergedArtifacts = new LinkedHashMap<String, Artifact>();
                for (Artifact artifact : allArtifacts) {
                    String conflictId = artifact.getDependencyConflictId();
                    if (!mergedArtifacts.containsKey(conflictId)) {
                        mergedArtifacts.put(conflictId, artifact);
                    }
                }

                artifacts = new LinkedHashSet<Artifact>(mergedArtifacts.values());
            }

            collectionRequest = new ArtifactResolutionRequest(request);
            collectionRequest.setServers(request.getServers());
            collectionRequest.setMirrors(request.getMirrors());
            collectionRequest.setProxies(request.getProxies());
            collectionRequest.setRemoteRepositories(resolutionGroup.getResolutionRepositories());
        } catch (ArtifactMetadataRetrievalException e) {
            ArtifactResolutionException are = new ArtifactResolutionException(
                    "Unable to get dependency information for " + rootArtifact.getId() + ": " + e.getMessage(),
                    rootArtifact, metadataRequest.getRemoteRepositories(), e);
            result.addMetadataResolutionException(are);
            return result;
        }
    }

    if (artifacts == null || artifacts.isEmpty()) {
        if (request.isResolveRoot()) {
            result.addArtifact(rootArtifact);
        }
        return result;
    }

    // After the collection we will have the artifact object in the result but they will not be resolved yet.
    result = artifactCollector.collect(artifacts, rootArtifact, managedVersions, collectionRequest, source,
            collectionFilter, listeners, null);

    // We have metadata retrieval problems, or there are cycles that have been detected
    // so we give this back to the calling code and let them deal with this information
    // appropriately.

    if (result.hasMetadataResolutionExceptions() || result.hasVersionRangeViolations()
            || result.hasCircularDependencyExceptions()) {
        return result;
    }

    if (result.getArtifactResolutionNodes() != null) {
        ClassLoader classLoader = Thread.currentThread().getContextClassLoader();

        CountDownLatch latch = new CountDownLatch(result.getArtifactResolutionNodes().size());

        for (ResolutionNode node : result.getArtifactResolutionNodes()) {
            Artifact artifact = node.getArtifact();

            if (resolutionFilter == null || resolutionFilter.include(artifact)) {
                executor.execute(new ResolveTask(classLoader, latch, artifact, session,
                        node.getRemoteRepositories(), result));
            } else {
                latch.countDown();
            }
        }
        try {
            latch.await();
        } catch (InterruptedException e) {
            result.addErrorArtifactException(
                    new ArtifactResolutionException("Resolution interrupted", rootArtifact, e));
        }
    }

    // We want to send the root artifact back in the result but we need to do this after the other dependencies
    // have been resolved.
    if (request.isResolveRoot()) {
        // Add the root artifact (as the first artifact to retain logical order of class path!)
        Set<Artifact> allArtifacts = new LinkedHashSet<Artifact>();
        allArtifacts.add(rootArtifact);
        allArtifacts.addAll(result.getArtifacts());
        result.setArtifacts(allArtifacts);
    }

    return result;
}

From source file:org.jetbrains.idea.maven.server.embedder.CustomMaven32ArtifactResolver.java

License:Apache License

public ArtifactResolutionResult resolve(ArtifactResolutionRequest request) {
    Artifact rootArtifact = request.getArtifact();
    Set<Artifact> artifacts = request.getArtifactDependencies();
    Map<String, Artifact> managedVersions = request.getManagedVersionMap();
    List<ResolutionListener> listeners = request.getListeners();
    ArtifactFilter collectionFilter = request.getCollectionFilter();
    ArtifactFilter resolutionFilter = request.getResolutionFilter();
    RepositorySystemSession session = getSession(request.getLocalRepository());

    //TODO: hack because metadata isn't generated in m2e correctly and i want to run the maven i have in the workspace
    if (source == null) {
        try {//from w  w w.j  a  v a 2 s . com
            source = container.lookup(ArtifactMetadataSource.class);
        } catch (ComponentLookupException e) {
            // won't happen
        }
    }

    if (listeners == null) {
        listeners = new ArrayList<ResolutionListener>();

        if (logger.isDebugEnabled()) {
            listeners.add(new DebugResolutionListener(logger));
        }

        listeners.add(new WarningResolutionListener(logger));
    }

    ArtifactResolutionResult result = new ArtifactResolutionResult();

    // The root artifact may, or may not be resolved so we need to check before we attempt to resolve.
    // This is often an artifact like a POM that is taken from disk and we already have hold of the
    // file reference. But this may be a Maven Plugin that we need to resolve from a remote repository
    // as well as its dependencies.

    if (request.isResolveRoot() /* && rootArtifact.getFile() == null */ ) {
        try {
            resolve(rootArtifact, request.getRemoteRepositories(), session);
        } catch (ArtifactResolutionException e) {
            result.addErrorArtifactException(e);
            return result;
        } catch (ArtifactNotFoundException e) {
            result.addMissingArtifact(request.getArtifact());
            return result;
        }
    }

    ArtifactResolutionRequest collectionRequest = request;

    if (request.isResolveTransitively()) {
        MetadataResolutionRequest metadataRequest = new DefaultMetadataResolutionRequest(request);

        metadataRequest.setArtifact(rootArtifact);
        metadataRequest.setResolveManagedVersions(managedVersions == null);

        try {
            ResolutionGroup resolutionGroup = source.retrieve(metadataRequest);

            if (managedVersions == null) {
                managedVersions = resolutionGroup.getManagedVersions();
            }

            Set<Artifact> directArtifacts = resolutionGroup.getArtifacts();

            if (artifacts == null || artifacts.isEmpty()) {
                artifacts = directArtifacts;
            } else {
                List<Artifact> allArtifacts = new ArrayList<Artifact>();
                allArtifacts.addAll(artifacts);
                allArtifacts.addAll(directArtifacts);

                Map<String, Artifact> mergedArtifacts = new LinkedHashMap<String, Artifact>();
                for (Artifact artifact : allArtifacts) {
                    String conflictId = artifact.getDependencyConflictId();
                    if (!mergedArtifacts.containsKey(conflictId)) {
                        mergedArtifacts.put(conflictId, artifact);
                    }
                }

                artifacts = new LinkedHashSet<Artifact>(mergedArtifacts.values());
            }

            collectionRequest = new ArtifactResolutionRequest(request);
            collectionRequest.setServers(request.getServers());
            collectionRequest.setMirrors(request.getMirrors());
            collectionRequest.setProxies(request.getProxies());
            collectionRequest.setRemoteRepositories(resolutionGroup.getResolutionRepositories());
        } catch (ArtifactMetadataRetrievalException e) {
            ArtifactResolutionException are = new ArtifactResolutionException(
                    "Unable to get dependency information for " + rootArtifact.getId() + ": " + e.getMessage(),
                    rootArtifact, metadataRequest.getRemoteRepositories(), e);
            result.addMetadataResolutionException(are);
            return result;
        }
    }

    if (artifacts == null || artifacts.isEmpty()) {
        if (request.isResolveRoot()) {
            result.addArtifact(rootArtifact);
        }
        return result;
    }

    // After the collection we will have the artifact object in the result but they will not be resolved yet.
    result = artifactCollector.collect(artifacts, rootArtifact, managedVersions, collectionRequest, source,
            collectionFilter, listeners, null);

    // We have metadata retrieval problems, or there are cycles that have been detected
    // so we give this back to the calling code and let them deal with this information
    // appropriately.

    if (result.hasMetadataResolutionExceptions() || result.hasVersionRangeViolations()
            || result.hasCircularDependencyExceptions()) {
        return result;
    }

    if (result.getArtifactResolutionNodes() != null) {
        ClassLoader classLoader = Thread.currentThread().getContextClassLoader();

        CountDownLatch latch = new CountDownLatch(result.getArtifactResolutionNodes().size());

        for (ResolutionNode node : result.getArtifactResolutionNodes()) {
            Artifact artifact = node.getArtifact();

            if (resolutionFilter == null || resolutionFilter.include(artifact)) {
                executor.execute(new ResolveTask(classLoader, latch, artifact, session,
                        node.getRemoteRepositories(), result));
            } else {
                latch.countDown();
            }
        }
        try {
            latch.await();
        } catch (InterruptedException e) {
            result.addErrorArtifactException(
                    new ArtifactResolutionException("Resolution interrupted", rootArtifact, e));
        }
    }

    // We want to send the root artifact back in the result but we need to do this after the other dependencies
    // have been resolved.
    if (request.isResolveRoot()) {
        // Add the root artifact (as the first artifact to retain logical order of class path!)
        Set<Artifact> allArtifacts = new LinkedHashSet<Artifact>();
        allArtifacts.add(rootArtifact);
        allArtifacts.addAll(result.getArtifacts());
        result.setArtifacts(allArtifacts);
    }

    return result;
}