Author: bentmann
Date: Thu Aug  6 18:30:33 2009
New Revision: 801760

URL: http://svn.apache.org/viewvc?rev=801760&view=rev
Log:
[MNG-3769] [regression] Excluding relocated transitive dependencies does not 
work

o Merged from r736543

Modified:
    
maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/DefaultLegacyArtifactCollector.java

Modified: 
maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/DefaultLegacyArtifactCollector.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/DefaultLegacyArtifactCollector.java?rev=801760&r1=801759&r2=801760&view=diff
==============================================================================
--- 
maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/DefaultLegacyArtifactCollector.java
 (original)
+++ 
maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/DefaultLegacyArtifactCollector.java
 Thu Aug  6 18:30:33 2009
@@ -382,6 +382,8 @@
         {
             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 @@
                             }
                             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 );


Reply via email to