Author: bentmann
Date: Mon Aug 17 15:16:57 2009
New Revision: 805008

URL: http://svn.apache.org/viewvc?rev=805008&view=rev
Log:
[MNG-4304] [regression] MavenProject.getDependencyArtifacts() not set

Modified:
    
maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultProjectDependenciesResolver.java

Modified: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultProjectDependenciesResolver.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultProjectDependenciesResolver.java?rev=805008&r1=805007&r2=805008&view=diff
==============================================================================
--- 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultProjectDependenciesResolver.java
 (original)
+++ 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultProjectDependenciesResolver.java
 Mon Aug 17 15:16:57 2009
@@ -20,6 +20,8 @@
  */
 
 import java.util.Collection;
+import java.util.HashSet;
+import java.util.LinkedHashSet;
 import java.util.Set;
 
 import org.apache.maven.artifact.Artifact;
@@ -32,6 +34,7 @@
 import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
 import org.apache.maven.artifact.resolver.filter.OrArtifactFilter;
 import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;
+import org.apache.maven.model.Dependency;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.artifact.ProjectArtifact;
 import org.apache.maven.repository.RepositorySystem;
@@ -101,7 +104,26 @@
         
         ArtifactResolutionResult result = repositorySystem.resolve( request ); 
               
         resolutionErrorHandler.throwErrors( request, result );
+
         project.setArtifacts( result.getArtifacts() );
-        return result.getArtifacts();        
-    }  
+
+        Set<String> directDependencies = new HashSet<String>( 
project.getDependencies().size() * 2 );
+        for ( Dependency dependency : project.getDependencies() )
+        {
+            directDependencies.add( dependency.getManagementKey() );
+        }
+
+        Set<Artifact> dependencyArtifacts = new LinkedHashSet<Artifact>( 
project.getDependencies().size() * 2 );
+        for ( Artifact artifact : result.getArtifacts() )
+        {
+            if ( directDependencies.contains( 
artifact.getDependencyConflictId() ) )
+            {
+                dependencyArtifacts.add( artifact );
+            }
+        }
+        project.setDependencyArtifacts( dependencyArtifacts );
+
+        return result.getArtifacts();
+    }
+
 }


Reply via email to