in src/main/java/org/apache/maven/plugins/dependency/PurgeLocalRepositoryMojo.java [522:564]
private Set<Artifact> getFilteredResolvedArtifacts(
MavenProject theProject, List<Dependency> dependencies, TransformableFilter filter) {
try {
Iterable<ArtifactResult> results = dependencyResolver.resolveDependencies(
session.getProjectBuildingRequest(), theProject.getModel(), filter);
Set<Artifact> resolvedArtifacts = new LinkedHashSet<>();
for (ArtifactResult artResult : results) {
resolvedArtifacts.add(artResult.getArtifact());
}
return resolvedArtifacts;
} catch (DependencyResolverException e) {
getLog().info("Unable to resolve all dependencies for: " + getProjectKey(theProject)
+ ". Falling back to non-transitive mode for initial artifact resolution.");
}
Set<Artifact> resolvedArtifacts = new LinkedHashSet<>();
ArtifactFilter artifactFilter = filter.transform(new ArtifactIncludeFilterTransformer());
for (Dependency dependency : dependencies) {
DefaultArtifactCoordinate coordinate = new DefaultArtifactCoordinate();
coordinate.setGroupId(dependency.getGroupId());
coordinate.setArtifactId(dependency.getArtifactId());
coordinate.setVersion(dependency.getVersion());
coordinate.setExtension(artifactHandlerManager
.getArtifactHandler(dependency.getType())
.getExtension());
try {
Artifact artifact = artifactResolver
.resolveArtifact(session.getProjectBuildingRequest(), coordinate)
.getArtifact();
if (artifactFilter.include(artifact)) {
resolvedArtifacts.add(artifact);
}
} catch (ArtifactResolverException e) {
getLog().debug("Unable to resolve artifact: " + coordinate);
}
}
return resolvedArtifacts;
}