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

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

Introduction

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

Prototype

public ArtifactResolutionRequest setResolutionFilter(ArtifactFilter filter) 

Source Link

Usage

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

License:Mozilla Public License

@Nonnull
protected ArtifactResolutionResult resolve(@Nonnull MavenProject project, @Nonnull Artifact artifact,
        @Nonnull ArtifactFactoryRequest request, boolean resolveTransitively) throws Exception {
    if (artifact.getVersionRange() != null && artifact.getVersionRange().hasRestrictions()) {
        final String latestVersion = getLatestVersionOf(project, artifact);
        artifact.setVersionRange(createFromVersion(latestVersion));
    }//from   ww w  .  j  av  a  2 s.c om

    final ArtifactResolutionRequest resolutionRequest = createRequestFor(project, artifact);
    resolutionRequest.setForceUpdate(request.isForceUpdate());
    resolutionRequest.setResolveTransitively(resolveTransitively);
    resolutionRequest.setResolutionFilter(toArtifactFilter(request));
    final ArtifactResolutionResult resolutionResult = _artifactResolver.resolve(resolutionRequest);
    _resolutionErrorHandler.throwErrors(resolutionRequest, resolutionResult);
    return resolutionResult;
}

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);/* www . ja v  a  2s  .  c  o  m*/
    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.sourcepit.osgifier.maven.context.MavenDependencyWalker.java

License:Apache License

private Set<Artifact> resolve(Request walkerRequest, Artifact artifact, MavenProject resolutionContext,
        boolean resolveRoot, List<Dependency> dependencies) {
    final ArtifactResolutionRequest request = new ArtifactResolutionRequest();
    request.setArtifact(artifact);//from   ww  w  .  j  av a2 s . c o m
    request.setResolveRoot(resolveRoot);
    request.setResolveTransitively(!resolveRoot);

    if (dependencies != null) {
        final Set<Artifact> artifactDependencies = new LinkedHashSet<Artifact>();
        for (Dependency dependency : dependencies) {
            artifactDependencies.add(repositorySystem.createArtifactWithClassifier(dependency.getGroupId(),
                    dependency.getArtifactId(), dependency.getVersion(), dependency.getType(),
                    dependency.getClassifier()));
        }
        request.setArtifactDependencies(artifactDependencies);
    }

    request.setLocalRepository(walkerRequest.getLocalRepository());

    final List<ArtifactRepository> remoteRepositories = new ArrayList<ArtifactRepository>();
    final Set<String> repoIds = new HashSet<String>();
    final List<ArtifactRepository> requestRepos = walkerRequest.getRemoteRepositories();
    if (requestRepos != null) {
        for (ArtifactRepository artifactRepository : requestRepos) {
            repoIds.add(artifactRepository.getId());
            remoteRepositories.add(artifactRepository);
        }
    }

    if (resolutionContext != null) {
        for (ArtifactRepository artifactRepository : resolutionContext.getRemoteArtifactRepositories()) {
            if (repoIds.add(artifactRepository.getId())) {
                remoteRepositories.add(artifactRepository);
            }
        }
        request.setManagedVersionMap(resolutionContext.getManagedVersionMap());
    }

    request.setRemoteRepositories(remoteRepositories);

    final ArtifactFilter artifactFilter = walkerRequest.getArtifactFilter();

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

    ArtifactResolutionResult result = repositorySystem.resolve(request);

    final Exception ex;
    if (result.hasExceptions()) {
        ex = result.getExceptions().get(0);
    } else if (result.hasCircularDependencyExceptions()) {
        ex = result.getCircularDependencyException(0);
    } else if (result.hasErrorArtifactExceptions()) {
        ex = result.getErrorArtifactExceptions().get(0);
    } else if (result.hasMetadataResolutionExceptions()) {
        ex = result.getMetadataResolutionException(0);
    } else {
        ex = null;
    }
    if (ex != null) {
        throw new IllegalStateException(ex);
    }

    for (Artifact missingArtifact : result.getMissingArtifacts()) {
        throw Exceptions.pipe(new ArtifactNotFoundException("Unable to resolve artifact", missingArtifact));
    }

    return result.getArtifacts();
}