Author: rfscholte
Date: Wed Jun 24 21:01:25 2015
New Revision: 1687370

URL: http://svn.apache.org/r1687370
Log:
[MSHARED-422] Change DependencyGraphBuilder method signatures
small bugfix in getDependencyArtifact(); When using 
RepositoryUtils.toArtifact() the scope is ignored

Modified:
    
maven/shared/trunk/maven-dependency-tree/src/it/reactor/resolve-extension/src/main/java/org/apache/maven/its/deptree/ResolveDependenciesLifecycleParticipant.java
    
maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/DependencyGraphBuilder.java
    
maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/DefaultDependencyGraphBuilder.java
    
maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven31DependencyGraphBuilder.java
    
maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyGraphBuilder.java

Modified: 
maven/shared/trunk/maven-dependency-tree/src/it/reactor/resolve-extension/src/main/java/org/apache/maven/its/deptree/ResolveDependenciesLifecycleParticipant.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-dependency-tree/src/it/reactor/resolve-extension/src/main/java/org/apache/maven/its/deptree/ResolveDependenciesLifecycleParticipant.java?rev=1687370&r1=1687369&r2=1687370&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-dependency-tree/src/it/reactor/resolve-extension/src/main/java/org/apache/maven/its/deptree/ResolveDependenciesLifecycleParticipant.java
 (original)
+++ 
maven/shared/trunk/maven-dependency-tree/src/it/reactor/resolve-extension/src/main/java/org/apache/maven/its/deptree/ResolveDependenciesLifecycleParticipant.java
 Wed Jun 24 21:01:25 2015
@@ -22,7 +22,9 @@ package org.apache.maven.its.deptree;
 import org.apache.maven.AbstractMavenLifecycleParticipant;
 import org.apache.maven.MavenExecutionException;
 import org.apache.maven.execution.MavenSession;
+import org.apache.maven.project.DefaultProjectBuildingRequest;
 import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.ProjectBuildingRequest;
 import org.apache.maven.shared.dependency.graph.DependencyGraphBuilder;
 import 
org.apache.maven.shared.dependency.graph.DependencyGraphBuilderException;
 import org.codehaus.plexus.component.annotations.Component;
@@ -66,6 +68,11 @@ public final class ResolveDependenciesLi
 
         for ( MavenProject project : projects )
         {
+            ProjectBuildingRequest buildingRequest =
+                new DefaultProjectBuildingRequest( 
session.getProjectBuildingRequest() );
+            
+            buildingRequest.setProject( project );
+            
             log.info( "building dependency graph for project " + 
project.getArtifact() );
 
             File resolved = new File( basedir, "resolved-" + 
project.getArtifactId() + ".txt" );
@@ -73,7 +80,7 @@ public final class ResolveDependenciesLi
             {
                 log.info( "building with reactor projects" );
                 // No need to filter our search. We want to resolve all 
artifacts.
-                dependencyGraphBuilder.buildDependencyGraph( project, null, 
projects );
+                dependencyGraphBuilder.buildDependencyGraph( buildingRequest, 
null, projects );
             }
             catch ( DependencyGraphBuilderException e )
             {
@@ -84,7 +91,7 @@ public final class ResolveDependenciesLi
             {
                 log.info( "building without reactor projects" );
                 // resolution without reactor projects, to check that it is 
not possible at this point
-                dependencyGraphBuilder.buildDependencyGraph( project, null );
+                dependencyGraphBuilder.buildDependencyGraph( buildingRequest, 
null );
             }
             catch ( DependencyGraphBuilderException e )
             {

Modified: 
maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/DependencyGraphBuilder.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/DependencyGraphBuilder.java?rev=1687370&r1=1687369&r2=1687370&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/DependencyGraphBuilder.java
 (original)
+++ 
maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/DependencyGraphBuilder.java
 Wed Jun 24 21:01:25 2015
@@ -21,6 +21,7 @@ package org.apache.maven.shared.dependen
 
 import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
 import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.ProjectBuildingRequest;
 
 import java.util.Collection;
 
@@ -35,12 +36,12 @@ public interface DependencyGraphBuilder
     /**
      * Build the dependency graph.
      *
-     * @param project the project
+     * @param buildingRequest the buildingRequest
      * @param filter artifact filter (can be <code>null</code>)
      * @return the dependency graph
      * @throws DependencyGraphBuilderException if some of the dependencies 
could not be resolved.
      */
-    DependencyNode buildDependencyGraph( MavenProject project, ArtifactFilter 
filter )
+    DependencyNode buildDependencyGraph( ProjectBuildingRequest 
buildingRequest, ArtifactFilter filter )
         throws DependencyGraphBuilderException;
 
     /**
@@ -51,13 +52,13 @@ public interface DependencyGraphBuilder
      * artifacts but only the poms), probably this hack wouldn't be necessary 
even for people requiring
      * the dependency graph before compiling. TODO: for Maven 3, use Aether to 
collect dependencies.</p>
      *
-     * @param project the project
+     * @param buildingRequest the buildingRequest
      * @param filter artifact filter (can be <code>null</code>)
      * @param reactorProjects Collection of those projects contained in the 
reactor (can be <code>null</code>).
      * @return the dependency graph
      * @throws DependencyGraphBuilderException if some of the dependencies 
could not be resolved.
      */
-    DependencyNode buildDependencyGraph( MavenProject project, ArtifactFilter 
filter,
+    DependencyNode buildDependencyGraph( ProjectBuildingRequest 
buildingRequest, ArtifactFilter filter,
                                          Collection<MavenProject> 
reactorProjects )
         throws DependencyGraphBuilderException;
 }

Modified: 
maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/DefaultDependencyGraphBuilder.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/DefaultDependencyGraphBuilder.java?rev=1687370&r1=1687369&r2=1687370&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/DefaultDependencyGraphBuilder.java
 (original)
+++ 
maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/DefaultDependencyGraphBuilder.java
 Wed Jun 24 21:01:25 2015
@@ -21,6 +21,7 @@ package org.apache.maven.shared.dependen
 
 import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
 import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.ProjectBuildingRequest;
 import org.apache.maven.shared.dependency.graph.DependencyGraphBuilder;
 import 
org.apache.maven.shared.dependency.graph.DependencyGraphBuilderException;
 import org.apache.maven.shared.dependency.graph.DependencyNode;
@@ -54,16 +55,16 @@ public class DefaultDependencyGraphBuild
     /**
      * Builds a dependency graph.
      *
-     * @param project the project
+     * @param buildingRequest the buildingRequest
      * @param filter artifact filter (can be <code>null</code>)
      * @return DependencyNode containing the dependency graph.
      * @throws DependencyGraphBuilderException if some of the dependencies 
could not be resolved.
      */
     @Override
-    public DependencyNode buildDependencyGraph( MavenProject project, 
ArtifactFilter filter )
+    public DependencyNode buildDependencyGraph( ProjectBuildingRequest 
buildingRequest, ArtifactFilter filter )
         throws DependencyGraphBuilderException
     {
-        return buildDependencyGraph( project, filter, null );
+        return buildDependencyGraph( buildingRequest, filter, null );
     }
 
     /**
@@ -76,7 +77,7 @@ public class DefaultDependencyGraphBuild
      * @throws DependencyGraphBuilderException if some of the dependencies 
could not be resolved.
      */
     @Override
-    public DependencyNode buildDependencyGraph( MavenProject project, 
ArtifactFilter filter,
+    public DependencyNode buildDependencyGraph( ProjectBuildingRequest 
buildingRequest, ArtifactFilter filter,
                                                 Collection<MavenProject> 
reactorProjects )
         throws DependencyGraphBuilderException
     {
@@ -86,10 +87,16 @@ public class DefaultDependencyGraphBuild
 
             DependencyGraphBuilder effectiveGraphBuilder =
                 (DependencyGraphBuilder) container.lookup( 
DependencyGraphBuilder.class.getCanonicalName(), hint );
-            getLogger().debug( "building " + hint + " dependency graph for " + 
project.getId() + " with "
-                                   + 
effectiveGraphBuilder.getClass().getSimpleName() );
+            
+            if ( getLogger().isDebugEnabled() )
+            {
+                MavenProject project = buildingRequest.getProject();
+                
+                getLogger().debug( "building " + hint + " dependency graph for 
" + project.getId() + " with "
+                                + 
effectiveGraphBuilder.getClass().getSimpleName() );
+            }
 
-            return effectiveGraphBuilder.buildDependencyGraph( project, 
filter, reactorProjects );
+            return effectiveGraphBuilder.buildDependencyGraph( 
buildingRequest, filter, reactorProjects );
         }
         catch ( ComponentLookupException e )
         {

Modified: 
maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven31DependencyGraphBuilder.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven31DependencyGraphBuilder.java?rev=1687370&r1=1687369&r2=1687370&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven31DependencyGraphBuilder.java
 (original)
+++ 
maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven31DependencyGraphBuilder.java
 Wed Jun 24 21:01:25 2015
@@ -64,38 +64,37 @@ public class Maven31DependencyGraphBuild
     /**
      * Builds the dependency graph for Maven 3.1+.
      *
-     * @param project the project
+     * @param buildingRequest the buildingRequest
      * @param filter artifact filter (can be <code>null</code>)
      * @return DependencyNode containing the dependency graph.
      * @throws DependencyGraphBuilderException if some of the dependencies 
could not be resolved.
      */
     @Override
-    public DependencyNode buildDependencyGraph( MavenProject project, 
ArtifactFilter filter )
+    public DependencyNode buildDependencyGraph( ProjectBuildingRequest 
buildingRequest, ArtifactFilter filter )
         throws DependencyGraphBuilderException
     {
-        return buildDependencyGraph( project, filter, null );
+        return buildDependencyGraph( buildingRequest, filter, null );
     }
 
     /**
      * Builds the dependency graph for Maven 3.1+, eventually hacking for 
collecting projects from
      * reactor not yet built.
      *
-     * @param project the project
+     * @param buildingRequest the buildingRequest
      * @param filter artifact filter (can be <code>null</code>)
      * @param reactorProjects Collection of those projects contained in the 
reactor (can be <code>null</code>).
      * @return DependencyNode containing the dependency graph.
      * @throws DependencyGraphBuilderException if some of the dependencies 
could not be resolved.
      */
     @Override
-    public DependencyNode buildDependencyGraph( MavenProject project, 
ArtifactFilter filter,
+    public DependencyNode buildDependencyGraph( ProjectBuildingRequest 
buildingRequest, ArtifactFilter filter,
                                                 Collection<MavenProject> 
reactorProjects )
         throws DependencyGraphBuilderException
     {
-        ProjectBuildingRequest projectBuildingRequest =
-            (ProjectBuildingRequest) Invoker.invoke( project, 
"getProjectBuildingRequest" );
-
+        MavenProject project = buildingRequest.getProject();
+        
         RepositorySystemSession session =
-            (RepositorySystemSession) Invoker.invoke( projectBuildingRequest, 
"getRepositorySession" );
+            (RepositorySystemSession) Invoker.invoke( buildingRequest, 
"getRepositorySession" );
 
         /*
          * if ( Boolean.TRUE != ( (Boolean) session.getConfigProperties().get(
@@ -188,7 +187,12 @@ public class Maven31DependencyGraphBuild
         
         try
         {
-            return (Artifact) Invoker.invoke( RepositoryUtils.class, 
"toArtifact", org.eclipse.aether.artifact.Artifact.class, artifact );
+            Artifact mavenArtifact = (Artifact) Invoker.invoke( 
RepositoryUtils.class, "toArtifact",
+                                              
org.eclipse.aether.artifact.Artifact.class, artifact );
+            
+            mavenArtifact.setScope( dep.getScope() );
+            
+            return mavenArtifact;
         }
         catch ( DependencyGraphBuilderException e )
         {

Modified: 
maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyGraphBuilder.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyGraphBuilder.java?rev=1687370&r1=1687369&r2=1687370&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyGraphBuilder.java
 (original)
+++ 
maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyGraphBuilder.java
 Wed Jun 24 21:01:25 2015
@@ -63,38 +63,37 @@ public class Maven3DependencyGraphBuilde
     /**
      * Builds the dependency graph for Maven 3.
      *
-     * @param project the project
+     * @param buildingRequest the buildingRequest
      * @param filter artifact filter (can be <code>null</code>)
      * @return DependencyNode containing the dependency graph.
      * @throws DependencyGraphBuilderException if some of the dependencies 
could not be resolved.
      */
     @Override
-    public DependencyNode buildDependencyGraph( MavenProject project, 
ArtifactFilter filter )
+    public DependencyNode buildDependencyGraph( ProjectBuildingRequest 
buildingRequest, ArtifactFilter filter )
         throws DependencyGraphBuilderException
     {
-        return buildDependencyGraph( project, filter, null );
+        return buildDependencyGraph( buildingRequest, filter, null );
     }
 
     /**
      * Builds the dependency graph for Maven 3, eventually hacking for 
collecting projects from
      * reactor not yet built.
      *
-     * @param project the project
+     * @param buildingRequest the buildingRequest
      * @param filter artifact filter (can be <code>null</code>)
      * @param reactorProjects Collection of those projects contained in the 
reactor (can be <code>null</code>).
      * @return DependencyNode containing the dependency graph.
      * @throws DependencyGraphBuilderException if some of the dependencies 
could not be resolved.
      */
     @Override
-    public DependencyNode buildDependencyGraph( MavenProject project, 
ArtifactFilter filter,
+    public DependencyNode buildDependencyGraph( ProjectBuildingRequest 
buildingRequest, ArtifactFilter filter,
                                                 Collection<MavenProject> 
reactorProjects )
         throws DependencyGraphBuilderException
     {
-        ProjectBuildingRequest projectBuildingRequest =
-            (ProjectBuildingRequest) Invoker.invoke( project, 
"getProjectBuildingRequest" );
+        MavenProject project = buildingRequest.getProject();
 
         DependencyResolutionRequest request =
-            new DefaultDependencyResolutionRequest( project, 
projectBuildingRequest.getRepositorySession() );
+            new DefaultDependencyResolutionRequest( project, 
buildingRequest.getRepositorySession() );
 
         DependencyResolutionResult result = resolveDependencies( request, 
reactorProjects );
 
@@ -171,8 +170,11 @@ public class Maven3DependencyGraphBuilde
 
     private Artifact getDependencyArtifact( Dependency dep )
     {
+        Artifact mavenArtifact = RepositoryUtils.toArtifact( dep.getArtifact() 
);
         
-        return RepositoryUtils.toArtifact( dep.getArtifact() );
+        mavenArtifact.setScope( dep.getScope() );
+        
+        return mavenArtifact; 
     }
 
     private DependencyNode buildDependencyNode( DependencyNode parent, 
org.sonatype.aether.graph.DependencyNode node,


Reply via email to