Index: src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java =================================================================== --- src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java (revision 328218) +++ src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java (working copy) @@ -80,6 +80,13 @@ public ResolutionGroup retrieve( Artifact artifact, ArtifactRepository localRepository, List remoteRepositories ) throws ArtifactMetadataRetrievalException { + return retrieve( artifact, localRepository, remoteRepositories, null ); + } + + public ResolutionGroup retrieve( Artifact artifact, ArtifactRepository localRepository, List remoteRepositories, + ArtifactFilter filter ) + throws ArtifactMetadataRetrievalException + { MavenProject project = null; Artifact pomArtifact; @@ -149,6 +156,13 @@ } getLogger().warn( message + "\n" ); + + if ( filter != null && !filter.include( artifact ) ) + { + // artifact is excluded, must return now with an empty resolution group + // or the artifact will be resolved again for transitivity + return new ResolutionGroup( pomArtifact, Collections.EMPTY_SET, Collections.EMPTY_LIST ); + } } else {