You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2016/06/12 15:32:43 UTC

svn commit: r1748023 - in /maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependencies/resolve: ./ internal/

Author: rfscholte
Date: Sun Jun 12 15:32:43 2016
New Revision: 1748023

URL: http://svn.apache.org/viewvc?rev=1748023&view=rev
Log:
Add DependencyResolver.resolveDependencies() with ProjectCoordinate

Modified:
    maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependencies/resolve/DependencyResolver.java
    maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependencies/resolve/internal/DefaultDependencyResolver.java
    maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependencies/resolve/internal/Maven30DependencyResolver.java
    maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependencies/resolve/internal/Maven31DependencyResolver.java

Modified: maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependencies/resolve/DependencyResolver.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependencies/resolve/DependencyResolver.java?rev=1748023&r1=1748022&r2=1748023&view=diff
==============================================================================
--- maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependencies/resolve/DependencyResolver.java (original)
+++ maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependencies/resolve/DependencyResolver.java Sun Jun 12 15:32:43 2016
@@ -26,6 +26,7 @@ import org.apache.maven.project.ProjectB
 import org.apache.maven.shared.artifact.filter.resolve.TransformableFilter;
 import org.apache.maven.shared.artifact.resolve.ArtifactResult;
 import org.apache.maven.shared.dependencies.DependableCoordinate;
+import org.apache.maven.shared.project.ProjectCoordinate;
 
 /**
  * 
@@ -47,6 +48,10 @@ public interface DependencyResolver
     Iterable<ArtifactResult> resolveDependencies( ProjectBuildingRequest buildingRequest, 
                                                   DependableCoordinate coordinate,
                                                   TransformableFilter filter ) throws DependencyResolverException;
+    
+    Iterable<ArtifactResult> resolveDependencies( ProjectBuildingRequest buildingRequest, 
+                                                  ProjectCoordinate coordinate,
+                                                  TransformableFilter filter ) throws DependencyResolverException;
 
     /**
      * @param buildingRequest the project building request, never {@code null}

Modified: maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependencies/resolve/internal/DefaultDependencyResolver.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependencies/resolve/internal/DefaultDependencyResolver.java?rev=1748023&r1=1748022&r2=1748023&view=diff
==============================================================================
--- maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependencies/resolve/internal/DefaultDependencyResolver.java (original)
+++ maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependencies/resolve/internal/DefaultDependencyResolver.java Sun Jun 12 15:32:43 2016
@@ -28,6 +28,7 @@ import org.apache.maven.shared.artifact.
 import org.apache.maven.shared.dependencies.DependableCoordinate;
 import org.apache.maven.shared.dependencies.resolve.DependencyResolver;
 import org.apache.maven.shared.dependencies.resolve.DependencyResolverException;
+import org.apache.maven.shared.project.ProjectCoordinate;
 import org.codehaus.plexus.PlexusConstants;
 import org.codehaus.plexus.PlexusContainer;
 import org.codehaus.plexus.component.annotations.Component;
@@ -73,6 +74,25 @@ public class DefaultDependencyResolver
     {
         try
         {
+            String hint = isMaven31() ? "maven31" : "maven3";
+
+            DependencyResolver effectiveArtifactResolver = container.lookup( DependencyResolver.class, hint );
+
+            return effectiveArtifactResolver.resolveDependencies( buildingRequest, coordinate, filter );
+        }
+        catch ( ComponentLookupException e )
+        {
+            throw new DependencyResolverException( e.getMessage(), e );
+        }
+    }
+    
+    @Override
+    public Iterable<ArtifactResult> resolveDependencies( ProjectBuildingRequest buildingRequest,
+                                                         ProjectCoordinate coordinate, TransformableFilter filter )
+        throws DependencyResolverException
+    {
+        try
+        {
             String hint = isMaven31() ? "maven31" : "maven3";
 
             DependencyResolver effectiveArtifactResolver = container.lookup( DependencyResolver.class, hint );

Modified: maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependencies/resolve/internal/Maven30DependencyResolver.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependencies/resolve/internal/Maven30DependencyResolver.java?rev=1748023&r1=1748022&r2=1748023&view=diff
==============================================================================
--- maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependencies/resolve/internal/Maven30DependencyResolver.java (original)
+++ maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependencies/resolve/internal/Maven30DependencyResolver.java Sun Jun 12 15:32:43 2016
@@ -25,6 +25,7 @@ import java.util.Iterator;
 import java.util.List;
 
 import org.apache.maven.RepositoryUtils;
+import org.apache.maven.artifact.handler.ArtifactHandler;
 import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
 import org.apache.maven.project.ProjectBuildingRequest;
 import org.apache.maven.shared.artifact.filter.resolve.TransformableFilter;
@@ -32,6 +33,7 @@ import org.apache.maven.shared.artifact.
 import org.apache.maven.shared.dependencies.DependableCoordinate;
 import org.apache.maven.shared.dependencies.resolve.DependencyResolver;
 import org.apache.maven.shared.dependencies.resolve.DependencyResolverException;
+import org.apache.maven.shared.project.ProjectCoordinate;
 import org.codehaus.plexus.component.annotations.Component;
 import org.codehaus.plexus.component.annotations.Requirement;
 
@@ -69,9 +71,8 @@ public class Maven30DependencyResolver
     public Iterable<org.apache.maven.shared.artifact.resolve.ArtifactResult> resolveDependencies( ProjectBuildingRequest buildingRequest,
                                                                                                   DependableCoordinate coordinate,
                                                                                                   TransformableFilter dependencyFilter )
-                                                                                                      // CHECKSTYLE_ON:
-                                                                                                      // LineLength
-                                                                                                      throws DependencyResolverException
+    // CHECKSTYLE_ON: LineLength
+        throws DependencyResolverException
     {
         ArtifactTypeRegistry typeRegistry =
             (ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class, "newArtifactTypeRegistry",
@@ -88,6 +89,34 @@ public class Maven30DependencyResolver
 
         return resolveDependencies( buildingRequest, aetherRepositories, dependencyFilter, request );
     }
+    
+    @Override
+    // CHECKSTYLE_OFF: LineLength
+    public Iterable<org.apache.maven.shared.artifact.resolve.ArtifactResult> resolveDependencies( ProjectBuildingRequest buildingRequest,
+                                                                                                  ProjectCoordinate root,
+                                                                                                  TransformableFilter dependencyFilter )
+    // CHECKSTYLE_ON: LineLength
+        throws DependencyResolverException
+    {
+        // Are there examples where packaging and type are NOT in sync
+        ArtifactHandler artifactHandler = artifactHandlerManager.getArtifactHandler( root.getPackaging() );
+        
+        String extension = artifactHandler != null ? artifactHandler.getExtension() : null;
+        
+        Artifact aetherArtifact =
+            new DefaultArtifact( root.getGroupId(), root.getArtifactId(), extension, root.getVersion() );
+        
+        Dependency aetherRoot = new Dependency( aetherArtifact, null );
+        
+        @SuppressWarnings( "unchecked" )
+        List<RemoteRepository> aetherRepositories =
+            (List<RemoteRepository>) Invoker.invoke( RepositoryUtils.class, "toRepos", List.class,
+                                                     buildingRequest.getRemoteRepositories() );
+
+        CollectRequest request = new CollectRequest( aetherRoot, aetherRepositories );
+
+        return resolveDependencies( buildingRequest, aetherRepositories, dependencyFilter, request );
+    }
 
     @Override
     // CHECKSTYLE_OFF: LineLength
@@ -95,9 +124,8 @@ public class Maven30DependencyResolver
                                                                                                   Collection<org.apache.maven.model.Dependency> mavenDependencies,
                                                                                                   Collection<org.apache.maven.model.Dependency> managedMavenDependencies,
                                                                                                   TransformableFilter filter )
-                                                                                                      // CHECKSTYLE_ON:
-                                                                                                      // LineLength
-                                                                                                      throws DependencyResolverException
+    // CHECKSTYLE_ON: LineLength
+        throws DependencyResolverException
     {
         ArtifactTypeRegistry typeRegistry =
             (ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class, "newArtifactTypeRegistry",

Modified: maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependencies/resolve/internal/Maven31DependencyResolver.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependencies/resolve/internal/Maven31DependencyResolver.java?rev=1748023&r1=1748022&r2=1748023&view=diff
==============================================================================
--- maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependencies/resolve/internal/Maven31DependencyResolver.java (original)
+++ maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependencies/resolve/internal/Maven31DependencyResolver.java Sun Jun 12 15:32:43 2016
@@ -25,6 +25,7 @@ import java.util.Collection;
 import java.util.Iterator;
 
 import org.apache.maven.RepositoryUtils;
+import org.apache.maven.artifact.handler.ArtifactHandler;
 import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
 import org.apache.maven.project.ProjectBuildingRequest;
 import org.apache.maven.shared.artifact.filter.resolve.TransformableFilter;
@@ -32,6 +33,7 @@ import org.apache.maven.shared.artifact.
 import org.apache.maven.shared.dependencies.DependableCoordinate;
 import org.apache.maven.shared.dependencies.resolve.DependencyResolver;
 import org.apache.maven.shared.dependencies.resolve.DependencyResolverException;
+import org.apache.maven.shared.project.ProjectCoordinate;
 import org.codehaus.plexus.component.annotations.Component;
 import org.codehaus.plexus.component.annotations.Requirement;
 import org.eclipse.aether.RepositorySystem;
@@ -82,6 +84,34 @@ public class Maven31DependencyResolver
         @SuppressWarnings( "unchecked" )
         List<RemoteRepository> aetherRepositories =
             (List<RemoteRepository>) Invoker.invoke( RepositoryUtils.class, "toRepos", List.class,
+                                                     buildingRequest.getRemoteRepositories() );
+
+        CollectRequest request = new CollectRequest( aetherRoot, aetherRepositories );
+
+        return resolveDependencies( buildingRequest, aetherRepositories, dependencyFilter, request );
+    }
+    
+    @Override
+    // CHECKSTYLE_OFF: LineLength
+    public Iterable<org.apache.maven.shared.artifact.resolve.ArtifactResult> resolveDependencies( ProjectBuildingRequest buildingRequest,
+                                                                                                  ProjectCoordinate root,
+                                                                                                  TransformableFilter dependencyFilter )
+    // CHECKSTYLE_ON: LineLength
+        throws DependencyResolverException
+    {
+     // Are there examples where packaging and type are NOT in sync
+        ArtifactHandler artifactHandler = artifactHandlerManager.getArtifactHandler( root.getPackaging() );
+        
+        String extension = artifactHandler != null ? artifactHandler.getExtension() : null;
+        
+        Artifact aetherArtifact =
+            new DefaultArtifact( root.getGroupId(), root.getArtifactId(), extension, root.getVersion() );
+        
+        Dependency aetherRoot = new Dependency( aetherArtifact, null );
+        
+        @SuppressWarnings( "unchecked" )
+        List<RemoteRepository> aetherRepositories =
+            (List<RemoteRepository>) Invoker.invoke( RepositoryUtils.class, "toRepos", List.class,
                                                      buildingRequest.getRemoteRepositories() );
 
         CollectRequest request = new CollectRequest( aetherRoot, aetherRepositories );