Author: bentmann
Date: Mon May 31 16:34:51 2010
New Revision: 949801

URL: http://svn.apache.org/viewvc?rev=949801&view=rev
Log:
[MNG-4696] [regression] MavenProject.getDependencyArtifacts() misses elements

Added:
    
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/factory/DefaultArtifactFactory.java
      - copied unchanged from r949698, 
maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/factory/DefaultArtifactFactory.java
Removed:
    
maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/factory/
Modified:
    
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolver.java

Modified: 
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolver.java
URL: 
http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolver.java?rev=949801&r1=949800&r2=949801&view=diff
==============================================================================
--- 
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolver.java
 (original)
+++ 
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolver.java
 Mon May 31 16:34:51 2010
@@ -18,14 +18,15 @@ package org.apache.maven.lifecycle.inter
 import org.apache.maven.ProjectDependenciesResolver;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.ArtifactUtils;
+import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
 import org.apache.maven.artifact.resolver.ArtifactResolutionException;
 import org.apache.maven.artifact.resolver.MultipleArtifactsNotFoundException;
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.lifecycle.LifecycleExecutionException;
 import org.apache.maven.lifecycle.MavenExecutionPlan;
-import org.apache.maven.model.Dependency;
 import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.artifact.InvalidDependencyVersionException;
 import org.codehaus.plexus.component.annotations.Component;
 import org.codehaus.plexus.component.annotations.Requirement;
 import org.codehaus.plexus.logging.Logger;
@@ -50,6 +51,9 @@ public class LifecycleDependencyResolver
     @Requirement
     private Logger logger;
 
+    @Requirement
+    private ArtifactFactory artifactFactory;
+
     @SuppressWarnings({"UnusedDeclaration"})
     public LifecycleDependencyResolver()
     {
@@ -117,16 +121,19 @@ public class LifecycleDependencyResolver
         Set<Artifact> artifacts =
             getProjectDependencies( project, scopesToCollect, scopesToResolve, 
session, aggregating,
                                     projectArtifacts );
-        updateProjectArtifacts( project, artifacts );
-    }
 
-    private void updateProjectArtifacts( MavenProject project, Set<Artifact> 
artifacts )
-    {
         project.setResolvedArtifacts( artifacts );
 
         if ( project.getDependencyArtifacts() == null )
         {
-            project.setDependencyArtifacts( getDependencyArtifacts( project, 
artifacts ) );
+            try
+            {
+                project.setDependencyArtifacts( project.createArtifacts( 
artifactFactory, null, null ) );
+            }
+            catch ( InvalidDependencyVersionException e )
+            {
+                throw new LifecycleExecutionException( e );
+            }
         }
     }
 
@@ -197,25 +204,6 @@ public class LifecycleDependencyResolver
         return artifacts;
     }
 
-    private Set<Artifact> getDependencyArtifacts( MavenProject project, 
Set<Artifact> artifacts )
-    {
-        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 : artifacts )
-        {
-            if ( directDependencies.contains( 
artifact.getDependencyConflictId() ) )
-            {
-                dependencyArtifacts.add( artifact );
-            }
-        }
-        return dependencyArtifacts;
-    }
-
     private boolean areAllArtifactsInReactor( Collection<MavenProject> 
projects, Collection<Artifact> artifacts )
     {
         Set<String> projectKeys = getReactorProjectKeys( projects );


Reply via email to