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/18 11:40:55 UTC

svn commit: r1748968 - in /maven/plugins/trunk/maven-assembly-plugin: ./ src/main/java/org/apache/maven/plugins/assembly/artifact/ src/test/java/org/apache/maven/plugins/assembly/artifact/

Author: rfscholte
Date: Sat Jun 18 11:40:55 2016
New Revision: 1748968

URL: http://svn.apache.org/viewvc?rev=1748968&view=rev
Log:
Use org.apache.maven.plugin-testing 2.1
Get rid of deprecated ArtifactFactory

Modified:
    maven/plugins/trunk/maven-assembly-plugin/pom.xml
    maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugins/assembly/artifact/DefaultDependencyResolver.java
    maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugins/assembly/artifact/DefaultDependencyResolverTest.java

Modified: maven/plugins/trunk/maven-assembly-plugin/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/pom.xml?rev=1748968&r1=1748967&r2=1748968&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/pom.xml (original)
+++ maven/plugins/trunk/maven-assembly-plugin/pom.xml Sat Jun 18 11:40:55 2016
@@ -176,14 +176,20 @@ under the License.
     </dependency>
     <dependency>
       <groupId>org.apache.maven.plugin-testing</groupId>
+      <artifactId>maven-plugin-testing-harness</artifactId>
+      <version>2.1</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.plugin-testing</groupId>
       <artifactId>maven-plugin-testing-tools</artifactId>
-      <version>1.3</version>
+      <version>2.1</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.plugin-testing</groupId>
       <artifactId>maven-test-tools</artifactId>
-      <version>1.3</version>
+      <version>2.1</version>
       <scope>test</scope>
     </dependency>
     <dependency>

Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugins/assembly/artifact/DefaultDependencyResolver.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugins/assembly/artifact/DefaultDependencyResolver.java?rev=1748968&r1=1748967&r2=1748968&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugins/assembly/artifact/DefaultDependencyResolver.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugins/assembly/artifact/DefaultDependencyResolver.java Sat Jun 18 11:40:55 2016
@@ -29,7 +29,6 @@ import java.util.Map;
 import java.util.Set;
 
 import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.resolver.ArtifactResolutionRequest;
 import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
@@ -46,10 +45,13 @@ import org.apache.maven.plugins.assembly
 import org.apache.maven.plugins.assembly.resolved.AssemblyId;
 import org.apache.maven.plugins.assembly.utils.FilterUtils;
 import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.artifact.InvalidDependencyVersionException;
+import org.apache.maven.project.ProjectBuildingRequest;
 import org.apache.maven.repository.RepositorySystem;
 import org.apache.maven.shared.artifact.filter.resolve.ScopeFilter;
 import org.apache.maven.shared.artifact.filter.resolve.transform.ArtifactIncludeFilterTransformer;
+import org.apache.maven.shared.artifact.resolve.ArtifactResult;
+import org.apache.maven.shared.dependencies.resolve.DependencyResolverException;
+import org.apache.maven.shared.project.DefaultProjectCoordinate;
 import org.codehaus.plexus.component.annotations.Component;
 import org.codehaus.plexus.component.annotations.Requirement;
 import org.codehaus.plexus.logging.AbstractLogEnabled;
@@ -66,9 +68,9 @@ public class DefaultDependencyResolver
 {
     @Requirement
     private RepositorySystem resolver;
-
+    
     @Requirement
-    private ArtifactFactory factory;
+    private org.apache.maven.shared.dependencies.resolve.DependencyResolver dependencyResolver;
 
     @Override
     public Map<DependencySet, Set<Artifact>> resolveDependencySets( final Assembly assembly, ModuleSet moduleSet,
@@ -86,7 +88,9 @@ public class DefaultDependencyResolver
             final ResolutionManagementInfo info = new ResolutionManagementInfo( currentProject );
             updateRepositoryResolutionRequirements( assembly, info );
             final AssemblyId assemblyId = AssemblyId.createAssemblyId( assembly );
-            updateDependencySetResolutionRequirements( dependencySet, info, assemblyId, currentProject );
+            updateDependencySetResolutionRequirements( dependencySet, info, assemblyId,
+                                                       configSource.getMavenSession().getProjectBuildingRequest(),
+                                                       currentProject );
             updateModuleSetResolutionRequirements( assemblyId, moduleSet, dependencySet, info, configSource );
 
             resolve( assembly, configSource, result, dependencySet, info );
@@ -144,7 +148,9 @@ public class DefaultDependencyResolver
             final ResolutionManagementInfo info = new ResolutionManagementInfo( currentProject );
             updateRepositoryResolutionRequirements( assembly, info );
             final AssemblyId assemblyId = AssemblyId.createAssemblyId( assembly );
-            updateDependencySetResolutionRequirements( dependencySet, info, assemblyId, currentProject );
+            updateDependencySetResolutionRequirements( dependencySet, info, assemblyId,
+                                                       configSource.getMavenSession().getProjectBuildingRequest(),
+                                                       currentProject );
 
             resolve( assembly, configSource, result, dependencySet, info );
 
@@ -298,6 +304,7 @@ public class DefaultDependencyResolver
             if ( binaries.isIncludeDependencies() )
             {
                 updateDependencySetResolutionRequirements( dependencySet, requirements, assemblyId,
+                                                           configSource.getMavenSession().getProjectBuildingRequest(),
                                                            projects.toArray( new MavenProject[projects.size()] ) );
             }
         }
@@ -305,6 +312,7 @@ public class DefaultDependencyResolver
 
     void updateDependencySetResolutionRequirements( final DependencySet set,
                                                     final ResolutionManagementInfo requirements, AssemblyId assemblyId,
+                                                    ProjectBuildingRequest buildingRequest,
                                                     final MavenProject... projects )
         throws DependencyResolutionException
     {
@@ -316,8 +324,6 @@ public class DefaultDependencyResolver
         
         requirements.setScopeFilter( scopeFilter );
         
-        ArtifactFilter filter = new ArtifactIncludeFilterTransformer().transform( scopeFilter );
-
         for ( final MavenProject project : projects )
         {
             if ( project == null )
@@ -330,10 +336,26 @@ public class DefaultDependencyResolver
             {
                 try
                 {
-                    dependencyArtifacts = project.createArtifacts( factory, null, filter );
+                    DefaultProjectCoordinate coordinate = new DefaultProjectCoordinate();
+                    coordinate.setGroupId( project.getGroupId() );
+                    coordinate.setArtifactId( project.getArtifactId() );
+                    coordinate.setVersion( project.getVersion() );
+                    coordinate.setPackaging( project.getPackaging() );
+                    
+                    
+                    Iterable<ArtifactResult> artifactResults =
+                        dependencyResolver.resolveDependencies( buildingRequest, coordinate, scopeFilter );
+                    
+                    dependencyArtifacts = new HashSet<Artifact>();
+                    
+                    for ( ArtifactResult artifactResult : artifactResults )
+                    {
+                        dependencyArtifacts.add( artifactResult.getArtifact() );
+                    }
+                    
                     project.setDependencyArtifacts( dependencyArtifacts );
                 }
-                catch ( final InvalidDependencyVersionException e )
+                catch ( final DependencyResolverException e )
                 {
                     throw new DependencyResolutionException(
                         "Failed to create dependency artifacts for resolution. Assembly: " + assemblyId, e );

Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugins/assembly/artifact/DefaultDependencyResolverTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugins/assembly/artifact/DefaultDependencyResolverTest.java?rev=1748968&r1=1748967&r2=1748968&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugins/assembly/artifact/DefaultDependencyResolverTest.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugins/assembly/artifact/DefaultDependencyResolverTest.java Sat Jun 18 11:40:55 2016
@@ -1,7 +1,5 @@
 package org.apache.maven.plugins.assembly.artifact;
 
-import static org.easymock.EasyMock.expect;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -21,8 +19,11 @@ import static org.easymock.EasyMock.expe
  * under the License.
  */
 
+import static org.easymock.EasyMock.expect;
+
 import java.io.File;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 import java.util.Set;
@@ -31,8 +32,15 @@ import org.apache.maven.artifact.Artifac
 import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
+import org.apache.maven.artifact.repository.LegacyLocalRepositoryManager;
 import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
+import org.apache.maven.execution.DefaultMavenExecutionRequest;
+import org.apache.maven.execution.DefaultMavenExecutionResult;
+import org.apache.maven.execution.MavenExecutionRequest;
+import org.apache.maven.execution.MavenExecutionResult;
+import org.apache.maven.execution.MavenSession;
 import org.apache.maven.model.Model;
+import org.apache.maven.plugin.testing.stubs.StubArtifactRepository;
 import org.apache.maven.plugins.assembly.AssemblerConfigurationSource;
 import org.apache.maven.plugins.assembly.model.Assembly;
 import org.apache.maven.plugins.assembly.model.DependencySet;
@@ -40,11 +48,16 @@ import org.apache.maven.plugins.assembly
 import org.apache.maven.plugins.assembly.model.ModuleSet;
 import org.apache.maven.plugins.assembly.model.Repository;
 import org.apache.maven.plugins.assembly.resolved.AssemblyId;
+import org.apache.maven.project.DefaultProjectBuildingRequest;
 import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.ProjectBuildingRequest;
+import org.apache.maven.repository.internal.MavenRepositorySystemSession;
 import org.codehaus.plexus.PlexusTestCase;
 import org.codehaus.plexus.logging.Logger;
 import org.codehaus.plexus.logging.console.ConsoleLogger;
 import org.easymock.classextension.EasyMockSupport;
+import org.sonatype.aether.RepositorySystemSession;
+import org.sonatype.aether.repository.LocalRepositoryManager;
 
 public class DefaultDependencyResolverTest
     extends PlexusTestCase
@@ -70,6 +83,22 @@ public class DefaultDependencyResolverTe
         repoFactory = lookup( ArtifactRepositoryFactory.class );
         layout = lookup( ArtifactRepositoryLayout.class, "default" );
     }
+    
+    protected MavenSession newMavenSession( MavenProject project )
+    {
+        MavenExecutionRequest request = new DefaultMavenExecutionRequest();
+        MavenExecutionResult result = new DefaultMavenExecutionResult();
+
+        MavenRepositorySystemSession repoSession = new MavenRepositorySystemSession();
+        
+        repoSession.setLocalRepositoryManager( LegacyLocalRepositoryManager.wrap( new StubArtifactRepository( "target/local-repo" ),
+                                                                                  null ) );
+        MavenSession session = new MavenSession( getContainer(), repoSession, request, result );
+        session.setCurrentProject( project );
+        session.setProjects( Arrays.asList( project ) );
+        return session;
+    }
+
 
     public void test_getDependencySetResolutionRequirements()
         throws DependencyResolutionException
@@ -87,10 +116,11 @@ public class DefaultDependencyResolverTe
         final ResolutionManagementInfo info = new ResolutionManagementInfo( project );
 
         final Assembly assembly = new Assembly();
-        resolver.updateDependencySetResolutionRequirements( ds1, info,
-                                                                                                              AssemblyId.createAssemblyId(
-                                                                                                                  assembly ),
-                                                                                                              project );
+        
+        ProjectBuildingRequest buildingRequest = newMavenSession( project ).getProjectBuildingRequest();
+        
+        resolver.updateDependencySetResolutionRequirements( ds1, info, AssemblyId.createAssemblyId( assembly ),
+                                                            buildingRequest, project );
 
         assertTrue( info.isResolutionRequired() );
         assertFalse( info.isResolvedTransitively() );
@@ -141,10 +171,12 @@ public class DefaultDependencyResolverTe
         allProjects.add( module1b );
         allProjects.add( module2 );
         allProjects.add( module2a );
-
+        
         expect( cs.getReactorProjects() ).andReturn( allProjects ).anyTimes();
 
         expect( cs.getProject() ).andReturn( project ).anyTimes();
+        
+        expect( cs.getMavenSession() ).andReturn( newMavenSession( project ) ).anyTimes();
 
         final ResolutionManagementInfo info = new ResolutionManagementInfo( project );