[MNG-3769] [regression] Excluding relocated transitive dependencies does not work

o Merged from r736543

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@801760 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Benjamin Bentmann 2009-08-06 18:30:33 +00:00
parent 4397321a10
commit 95632cef43
1 changed files with 13 additions and 0 deletions

View File

@ -382,6 +382,8 @@ public class DefaultLegacyArtifactCollector
{
fireEvent( ResolutionListener.PROCESS_CHILDREN, listeners, node );
Artifact parentArtifact = node.getArtifact();
for ( Iterator i = node.getChildrenIterator(); i.hasNext(); )
{
ResolutionNode child = (ResolutionNode) i.next();
@ -493,6 +495,17 @@ public class DefaultLegacyArtifactCollector
}
while( !childKey.equals( child.getKey() ) );
if ( parentArtifact != null && parentArtifact.getDependencyFilter() != null
&& !parentArtifact.getDependencyFilter().include( artifact ) )
{
// MNG-3769: the [probably relocated] artifact is excluded.
// We could process exclusions on relocated artifact details in the
// MavenMetadataSource.createArtifacts(..) step, BUT that would
// require resolving the POM from the repository very early on in
// the build.
continue;
}
artifact.setDependencyTrail( node.getDependencyTrail() );
ResolutionGroup rGroup = source.retrieve( artifact, localRepository, childRemoteRepositories );