private Set getFilteredResolvedArtifacts()

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;
    }