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

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

Introduction

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

Prototype

public ArtifactResolutionRequest setResolveRoot(boolean resolveRoot) 

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);//from w ww.  ja  va2 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)./* ww  w .j  ava2  s.  c  o  m*/
 * @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:io.treefarm.plugins.haxe.components.NativeBootstrap.java

License:Apache License

@Nonnull
private Artifact resolveArtifact(Artifact artifact, boolean localOnly) throws Exception {
    ArtifactResolutionRequest request = new ArtifactResolutionRequest();

    request.setArtifact(artifact);//from w ww. j a va  2  s  . c o  m
    request.setLocalRepository(localRepository);
    if (!localOnly) {
        request.setRemoteRepositories(project.getRemoteArtifactRepositories());
    }
    //request.setResolveRoot( true );
    //request.setResolveTransitively( false );
    ArtifactResolutionResult resolutionResult = repositorySystem.resolve(request);

    if (!resolutionResult.isSuccess()) {
        String expectedPackageType = PackageTypes.DEFAULT;
        if (artifact.getType().equals(expectedPackageType)) {
            artifact = repositorySystem.createArtifactWithClassifier(artifact.getGroupId(),
                    artifact.getArtifactId(), artifact.getVersion(), expectedPackageType,
                    artifact.getClassifier());
            request = new ArtifactResolutionRequest();
            request.setArtifact(artifact);
            request.setLocalRepository(localRepository);
            if (!localOnly) {
                request.setRemoteRepositories(project.getRemoteArtifactRepositories());
            }
            request.setResolveRoot(true);
            request.setResolveTransitively(false);
            resolutionResult = repositorySystem.resolve(request);
            if (resolutionResult.isSuccess()) {
                return artifact;
            }
        }
        if (!localOnly) {
            String message = "Failed to resolve artifact " + artifact;
            throw new Exception(message);
        } else {
            artifact = null;
        }
    }

    return artifact;
}

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);//ww  w  . j  a v  a2 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   w  w w .j  a  v a2 s .  co 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   w  w  w .j av a2 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  ww. j  a v  a2 s .co 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.codehaus.tycho.osgicompiler.AbstractOsgiCompilerMojo.java

License:Apache License

public List<String> getClasspathElements() throws MojoExecutionException {
    TychoProject projectType = getBundleProject();
    List<String> classpath = new ArrayList<String>();
    for (ClasspathEntry cpe : ((BundleProject) projectType).getClasspath(project)) {
        String rules = toString(cpe.getAccessRules());
        for (File location : cpe.getLocations()) {
            classpath.add(location.getAbsolutePath() + rules);
        }//from www .  j a v  a 2s. c  o m
    }

    if (extraClasspathElements != null) {
        ArtifactRepository localRepository = session.getLocalRepository();
        List<ArtifactRepository> remoteRepositories = project.getRemoteArtifactRepositories();
        for (MavenArtifactRef a : extraClasspathElements) {
            Artifact artifact = repositorySystem.createArtifact(a.getGroupId(), a.getArtifactId(),
                    a.getVersion(), "jar");

            ArtifactResolutionRequest request = new ArtifactResolutionRequest();
            request.setArtifact(artifact);
            request.setLocalRepository(localRepository);
            request.setRemoteRepositories(remoteRepositories);
            request.setResolveRoot(true);
            request.setResolveTransitively(true);
            ArtifactResolutionResult result = repositorySystem.resolve(request);

            if (result.hasExceptions()) {
                throw new MojoExecutionException("Could not resolve extra classpath entry",
                        result.getExceptions().get(0));
            }

            for (Artifact b : result.getArtifacts()) {
                classpath.add(b.getFile().getAbsolutePath() + "[+**/*]");
            }
        }
    }

    return classpath;
}

From source file:org.eclipse.che.maven.server.MavenServerImpl.java

License:Open Source License

private MavenResult internalResolveProject(File pom, List<String> activeProfiles, List<String> inactiveProfiles,
        List<ResolutionListener> dependencyTreeResolutionListeners) {

    MavenExecutionRequest request = newMavenRequest(pom, activeProfiles, inactiveProfiles,
            Collections.emptyList());
    request.setUpdateSnapshots(updateSnapshots);

    AtomicReference<MavenResult> reference = new AtomicReference<>();
    runMavenRequest(request, () -> {// w  w w.  j  a  va 2  s  .c  om
        try {
            ProjectBuilder builder = getMavenComponent(ProjectBuilder.class);

            List<ProjectBuildingResult> resultList = builder.build(Collections.singletonList(pom), false,
                    request.getProjectBuildingRequest());
            ProjectBuildingResult result = resultList.get(0);
            MavenProject mavenProject = result.getProject();
            RepositorySystemSession repositorySession = getMavenComponent(LegacySupport.class)
                    .getRepositorySession();
            if (repositorySession instanceof DefaultRepositorySystemSession) {
                ((DefaultRepositorySystemSession) repositorySession)
                        .setTransferListener(new ArtifactTransferListener(mavenProgressNotifier));
                if (workspaceCache != null) {
                    ((DefaultRepositorySystemSession) repositorySession)
                            .setWorkspaceReader(new MavenWorkspaceReader(workspaceCache));
                }

            }

            List<Exception> exceptions = new ArrayList<>();

            loadExtensions(mavenProject, exceptions);
            mavenProject.setDependencyArtifacts(
                    mavenProject.createArtifacts(getMavenComponent(ArtifactFactory.class), null, null));

            ArtifactResolutionRequest resolutionRequest = new ArtifactResolutionRequest();
            resolutionRequest.setArtifact(mavenProject.getArtifact());
            resolutionRequest.setRemoteRepositories(mavenProject.getRemoteArtifactRepositories());
            resolutionRequest.setArtifactDependencies(mavenProject.getDependencyArtifacts());
            resolutionRequest.setListeners(dependencyTreeResolutionListeners);
            resolutionRequest.setLocalRepository(localRepo);
            resolutionRequest.setManagedVersionMap(mavenProject.getManagedVersionMap());
            resolutionRequest.setResolveTransitively(true);
            resolutionRequest.setResolveRoot(false);
            ArtifactResolver resolver = getMavenComponent(ArtifactResolver.class);
            ArtifactResolutionResult resolve = resolver.resolve(resolutionRequest);
            mavenProject.setArtifacts(resolve.getArtifacts());
            reference.set(new MavenResult(mavenProject, exceptions));

        } catch (Exception e) {
            reference.set(new MavenResult(null, null, Collections.singletonList(e)));
        }
    });
    return reference.get();
}

From source file:org.eclipse.tycho.compiler.AbstractOsgiCompilerMojo.java

License:Apache License

public List<ClasspathEntry> getClasspath() throws MojoExecutionException {
    TychoProject projectType = getBundleProject();
    ArrayList<ClasspathEntry> classpath = new ArrayList<ClasspathEntry>(
            ((BundleProject) projectType).getClasspath(project));

    if (extraClasspathElements != null) {
        ArtifactRepository localRepository = session.getLocalRepository();
        List<ArtifactRepository> remoteRepositories = project.getRemoteArtifactRepositories();
        for (MavenArtifactRef a : extraClasspathElements) {
            Artifact artifact = repositorySystem.createArtifact(a.getGroupId(), a.getArtifactId(),
                    a.getVersion(), "jar");

            ArtifactResolutionRequest request = new ArtifactResolutionRequest();
            request.setArtifact(artifact);
            request.setLocalRepository(localRepository);
            request.setRemoteRepositories(remoteRepositories);
            request.setResolveRoot(true);
            request.setResolveTransitively(true);
            ArtifactResolutionResult result = repositorySystem.resolve(request);

            if (result.hasExceptions()) {
                throw new MojoExecutionException("Could not resolve extra classpath entry",
                        result.getExceptions().get(0));
            }//  w w  w . j  a  v  a 2 s .com

            for (Artifact b : result.getArtifacts()) {
                MavenProject bProject = null;
                if (b instanceof ProjectArtifact) {
                    bProject = ((ProjectArtifact) b).getProject();
                }
                ArrayList<File> bLocations = new ArrayList<File>();
                bLocations.add(b.getFile()); // TODO properly handle multiple project locations maybe
                classpath.add(new DefaultClasspathEntry(DefaultReactorProject.adapt(bProject), null, bLocations,
                        null));
            }
        }
    }
    return classpath;
}