List of usage examples for org.apache.maven.artifact.resolver ArtifactResolutionRequest setResolutionFilter
public ArtifactResolutionRequest setResolutionFilter(ArtifactFilter filter)
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(); }