You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2009/01/22 04:33:17 UTC
svn commit: r736543 - in /maven/components/branches/maven-2.0.x:
maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java
maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
Author: jdcasey
Date: Wed Jan 21 19:33:16 2009
New Revision: 736543
URL: http://svn.apache.org/viewvc?rev=736543&view=rev
Log:
[MNG-3769] Fixing exclusion using post-relocation artifact details.
Modified:
maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java
maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
Modified: maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java?rev=736543&r1=736542&r2=736543&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java (original)
+++ maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java Wed Jan 21 19:33:16 2009
@@ -285,6 +285,8 @@
{
fireEvent( ResolutionListener.PROCESS_CHILDREN, listeners, node );
+ Artifact parentArtifact = node.getArtifact();
+
for ( Iterator i = node.getChildrenIterator(); i.hasNext(); )
{
ResolutionNode child = (ResolutionNode) i.next();
@@ -386,11 +388,22 @@
Artifact relocated = source.retrieveRelocatedArtifact( artifact, localRepository, childRemoteRepositories );
if ( !artifact.equals( relocated ) )
{
+ relocated.setDependencyFilter( artifact.getDependencyFilter() );
artifact = relocated;
child.setArtifact( artifact );
}
}
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, remoteRepositories );
Modified: maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java?rev=736543&r1=736542&r2=736543&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java (original)
+++ maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java Wed Jan 21 19:33:16 2009
@@ -431,6 +431,11 @@
ArtifactFilter artifactFilter = dependencyFilter;
+ // MNG-3769: It would be nice to be able to process relocations here,
+ // so we could have this filtering step apply to post-relocated dependencies.
+ // HOWEVER, this would require a much more invasive POM resolution process
+ // in order to look for relocations, which would make the early steps in
+ // a Maven build way too heavy.
if ( artifact != null && ( artifactFilter == null || artifactFilter.include( artifact ) ) )
{
if ( d.getExclusions() != null && !d.getExclusions().isEmpty() )