You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2006/08/23 22:58:08 UTC

svn commit: r434175 [2/2] - in /maven/plugins/trunk/maven-assembly-plugin: ./ src/it/dependency-sets/including-pom-dependency/ src/it/dependency-sets/including-pom-dependency/src/ src/it/dependency-sets/including-pom-dependency/src/assemble/ src/it/dep...

Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/mdo/descriptor.mdo
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/mdo/descriptor.mdo?rev=434175&r1=434174&r2=434175&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/mdo/descriptor.mdo (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/mdo/descriptor.mdo Wed Aug 23 13:58:02 2006
@@ -561,9 +561,24 @@
           <type>boolean</type>
           <defaultValue>false</defaultValue>
           <description>
-            If set to true, the plugin will include the direct and transitive dependencies of
-            of the project modules included here.  Otherwise, it will only include the module
-            packages only. Default value is false.
+          If set to true, the plugin will include the direct and transitive dependencies of
+          of the project modules included here.  Otherwise, it will only include the module
+          packages only. Default value is false.
+          </description>
+        </field>
+        <field>
+          <name>dependencySets</name>
+          <version>1.0.0</version>
+          <association>
+            <type>DependencySet</type>
+            <multiplicity>*</multiplicity>
+          </association>
+          <description>
+            <![CDATA[
+            Specifies which dependencies of the module to include in the assembly. A
+            dependencySet is specified by providing one or more of
+            &lt;dependencySet&gt; subelements.
+            ]]>
           </description>
         </field>
         <field>

Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiverTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiverTest.java?rev=434175&r1=434174&r2=434175&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiverTest.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiverTest.java Wed Aug 23 13:58:02 2006
@@ -1,6 +1,7 @@
 package org.apache.maven.plugin.assembly.archive;
 
 import org.apache.maven.plugin.assembly.AssemblerConfigurationSource;
+import org.apache.maven.plugin.assembly.InvalidAssemblerConfigurationException;
 import org.apache.maven.plugin.assembly.archive.phase.AssemblyArchiverPhase;
 import org.apache.maven.plugin.assembly.filter.ComponentsXmlArchiverFileFilter;
 import org.apache.maven.plugin.assembly.format.AssemblyFormattingException;
@@ -40,7 +41,7 @@
     }
 
     public void testCreateArchive()
-        throws ArchiveCreationException, AssemblyFormattingException
+        throws ArchiveCreationException, AssemblyFormattingException, InvalidAssemblerConfigurationException
     {
         MockManager mm = new MockManager();
 

Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhaseTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhaseTest.java?rev=434175&r1=434174&r2=434175&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhaseTest.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhaseTest.java Wed Aug 23 13:58:02 2006
@@ -1,8 +1,10 @@
 package org.apache.maven.plugin.assembly.archive.phase;
 
 import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.model.Model;
 import org.apache.maven.plugin.assembly.AssemblerConfigurationSource;
+import org.apache.maven.plugin.assembly.InvalidAssemblerConfigurationException;
 import org.apache.maven.plugin.assembly.archive.ArchiveCreationException;
 import org.apache.maven.plugin.assembly.archive.task.testutils.MockAndControlForAddArtifactTask;
 import org.apache.maven.plugin.assembly.format.AssemblyFormattingException;
@@ -10,16 +12,17 @@
 import org.apache.maven.plugins.assembly.model.Assembly;
 import org.apache.maven.plugins.assembly.model.DependencySet;
 import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.MavenProjectBuilder;
+import org.apache.maven.project.ProjectBuildingException;
 import org.codehaus.plexus.logging.Logger;
 import org.codehaus.plexus.logging.console.ConsoleLogger;
 import org.easymock.MockControl;
 
 import java.io.IOException;
 import java.util.Collections;
-import java.util.HashSet;
 import java.util.List;
-import java.util.Set;
 
+import junit.framework.Assert;
 import junit.framework.TestCase;
 
 public class DependencySetAssemblyPhaseTest
@@ -29,7 +32,7 @@
     private MockManager mockManager = new MockManager();
 
     public void testExecute_ShouldAddOneDependencyFromProject()
-        throws AssemblyFormattingException, ArchiveCreationException, IOException
+        throws AssemblyFormattingException, ArchiveCreationException, IOException, InvalidAssemblerConfigurationException
     {
         String outputLocation = "/out";
 
@@ -51,6 +54,7 @@
         MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mockManager );
 
         macTask.expectArtifactGetFile();
+        macTask.expectArtifactGetType( "jar" );
         macTask.expectArtifactGetScope( Artifact.SCOPE_COMPILE );
         macTask.expectGetClassifier( null );
         macTask.expectIsSnapshot( false );
@@ -64,252 +68,53 @@
 
         macCS.enableGetProject( project );
         macCS.enableGetFinalName( "final-name" );
-
-        MockAndControlForLogger macLog = new MockAndControlForLogger();
-
-        macLog.expectInfo( "Processing DependencySet" );
+        macCS.enableGetRepositories( null, Collections.EMPTY_LIST );
+        
+        Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
+        
+        MockAndControlForProjectBuilder macPB = new MockAndControlForProjectBuilder();
+        
+        MavenProject depProject = new MavenProject( new Model() );
+        macPB.expectBuildFromRepository( depProject );
 
         mockManager.replayAll();
 
-        createPhase( macLog.logger ).execute( assembly, macTask.archiver, macCS.configSource );
+        createPhase( macPB.projectBuilder, logger ).execute( assembly, macTask.archiver, macCS.configSource );
 
         mockManager.verifyAll();
     }
 
     public void testExecute_ShouldNotAddDependenciesWhenProjectHasNone()
-        throws AssemblyFormattingException, ArchiveCreationException, IOException
+        throws AssemblyFormattingException, ArchiveCreationException, IOException, InvalidAssemblerConfigurationException
     {
-        MockAndControlForLogger macLog = new MockAndControlForLogger();
-
         Assembly assembly = new Assembly();
         
         assembly.setId( "test" );
         assembly.setIncludeBaseDirectory( false );
         
-        mockManager.replayAll();
-
-        createPhase( macLog.logger ).execute( assembly, null, null );
-
-        mockManager.verifyAll();
-    }
-
-    public void testAddDependencySet_ShouldNotAddDependenciesWhenProjectHasNone()
-        throws AssemblyFormattingException, ArchiveCreationException
-    {
-        MavenProject project = new MavenProject( new Model() );
-
-        MockAndControlForConfigSource macCS = new MockAndControlForConfigSource();
-
-        macCS.enableGetProject( project );
-
-        DependencySet ds = new DependencySet();
-        ds.setOutputDirectory( "/out" );
-
-        MockAndControlForLogger macLog = new MockAndControlForLogger();
-
-        macLog.expectInfo( "Processing DependencySet" );
-
-        mockManager.replayAll();
-
-        createPhase( macLog.logger ).addDependencySet( ds, null, macCS.configSource, false );
-
-        mockManager.verifyAll();
-    }
-
-    public void testAddDependencySet_ShouldAddOneDependencyFromProjectWithoutUnpacking()
-        throws AssemblyFormattingException, ArchiveCreationException, IOException
-    {
-        verifyOneDependencyAdded( "out", false );
-    }
-
-    public void testAddDependencySet_ShouldAddOneDependencyFromProjectUnpacked()
-        throws AssemblyFormattingException, ArchiveCreationException, IOException
-    {
-        verifyOneDependencyAdded( "out", true );
-    }
-
-    private void verifyOneDependencyAdded( String outputLocation, boolean unpack )
-        throws AssemblyFormattingException, ArchiveCreationException, IOException
-    {
-        MavenProject project = new MavenProject( new Model() );
-
-        DependencySet ds = new DependencySet();
-        ds.setOutputDirectory( outputLocation );
-        ds.setOutputFileNameMapping( "artifact" );
-        ds.setUnpack( unpack );
-        ds.setScope( Artifact.SCOPE_COMPILE );
-
-        ds.setDirectoryMode( Integer.toString( 8, 8 ) );
-        ds.setFileMode( Integer.toString( 8, 8 ) );
-
-        MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mockManager );
-
-        macTask.expectArtifactGetFile();
-        macTask.expectArtifactGetScope( Artifact.SCOPE_COMPILE );
-        macTask.expectGetClassifier( null );
-        macTask.expectIsSnapshot( false );
-        macTask.expectGetArtifactHandler();
-
-        if ( unpack )
-        {
-            macTask.expectAddArchivedFileSet( outputLocation + "/artifact/", null, null );
-            macTask.expectModeChange( -1, -1, 8, 8, 2 );
-        }
-        else
-        {
-            macTask.expectAddFile( outputLocation + "/artifact", 8 );
-        }
-
-        project.setArtifacts( Collections.singleton( macTask.artifact ) );
-
+        Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
+        
+        MockAndControlForProjectBuilder macPB = new MockAndControlForProjectBuilder();
+        
         MockAndControlForConfigSource macCS = new MockAndControlForConfigSource();
-
-        macCS.enableGetProject( project );
-        macCS.enableGetFinalName( "final-name" );
-
-        MockAndControlForLogger macLog = new MockAndControlForLogger();
-
-        macLog.expectInfo( "Processing DependencySet" );
+        macCS.enableGetProject( null );
 
         mockManager.replayAll();
 
-        createPhase( macLog.logger ).addDependencySet( ds, macTask.archiver, macCS.configSource, false );
+        createPhase( macPB.projectBuilder, logger ).execute( assembly, null, macCS.configSource );
 
         mockManager.verifyAll();
     }
 
-    private DependencySetAssemblyPhase createPhase( Logger logger )
+    private DependencySetAssemblyPhase createPhase( MavenProjectBuilder projectBuilder, Logger logger )
     {
-        DependencySetAssemblyPhase phase = new DependencySetAssemblyPhase();
+        DependencySetAssemblyPhase phase = new DependencySetAssemblyPhase( projectBuilder );
 
         phase.enableLogging( logger );
 
         return phase;
     }
 
-    public void testGetDependencyArtifacts_ShouldGetOneDependencyArtifact()
-    {
-        MavenProject project = new MavenProject( new Model() );
-
-        MockAndControlForArtifact mac = new MockAndControlForArtifact();
-
-        mac.expectGetScope( Artifact.SCOPE_COMPILE );
-
-        project.setArtifacts( Collections.singleton( mac.artifact ) );
-
-        DependencySet dependencySet = new DependencySet();
-
-        DependencySetAssemblyPhase phase = new DependencySetAssemblyPhase();
-        phase.enableLogging( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) );
-
-        mockManager.replayAll();
-
-        Set result = phase.getDependencyArtifacts( project, dependencySet );
-
-        assertNotNull( result );
-        assertEquals( 1, result.size() );
-        assertSame( mac.artifact, result.iterator().next() );
-
-        mockManager.verifyAll();
-    }
-
-    public void testGetDependencyArtifacts_ShouldFilterOneDependencyArtifactViaInclude()
-    {
-        MavenProject project = new MavenProject( new Model() );
-
-        Set artifacts = new HashSet();
-
-        MockAndControlForArtifact mac = new MockAndControlForArtifact();
-
-        mac.enableGetGroupId( "group" );
-        mac.enableGetArtifactId( "artifact" );
-        mac.enableGetDependencyConflictId( "group:artifact:jar" );
-        mac.expectGetScope( Artifact.SCOPE_COMPILE );
-
-        artifacts.add( mac.artifact );
-
-        MockAndControlForArtifact mac2 = new MockAndControlForArtifact();
-
-        mac2.enableGetGroupId( "group2" );
-        mac2.enableGetArtifactId( "artifact2" );
-        mac2.enableGetDependencyConflictId( "group2:artifact2:jar" );
-        mac2.expectGetScope( Artifact.SCOPE_COMPILE );
-        mac2.enableGetDependencyTrail( Collections.EMPTY_LIST );
-        mac2.enableGetId( "group2:artifact2:1.0" );
-
-        artifacts.add( mac2.artifact );
-
-        project.setArtifacts( artifacts );
-
-        DependencySet dependencySet = new DependencySet();
-
-        dependencySet.addInclude( "group:artifact" );
-
-        DependencySetAssemblyPhase phase = new DependencySetAssemblyPhase();
-        phase.enableLogging( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) );
-
-        mockManager.replayAll();
-
-        Set result = phase.getDependencyArtifacts( project, dependencySet );
-
-        assertNotNull( result );
-        assertEquals( 1, result.size() );
-        assertSame( mac.artifact, result.iterator().next() );
-
-        mockManager.verifyAll();
-    }
-
-    private final class MockAndControlForArtifact
-    {
-        Artifact artifact;
-
-        MockControl control;
-
-        public MockAndControlForArtifact()
-        {
-            control = MockControl.createControl( Artifact.class );
-            mockManager.add( control );
-
-            artifact = ( Artifact ) control.getMock();
-        }
-
-        public void enableGetId( String id )
-        {
-            artifact.getId();
-            control.setReturnValue( id, MockControl.ONE_OR_MORE );
-        }
-
-        public void enableGetDependencyTrail( List dependencyTrail )
-        {
-            artifact.getDependencyTrail();
-            control.setReturnValue( dependencyTrail, MockControl.ONE_OR_MORE );
-        }
-
-        public void enableGetDependencyConflictId( String conflictId )
-        {
-            artifact.getDependencyConflictId();
-            control.setReturnValue( conflictId, MockControl.ONE_OR_MORE );
-        }
-
-        public void enableGetArtifactId( String artifactId )
-        {
-            artifact.getArtifactId();
-            control.setReturnValue( artifactId, MockControl.ONE_OR_MORE );
-        }
-
-        public void enableGetGroupId( String groupId )
-        {
-            artifact.getGroupId();
-            control.setReturnValue( groupId, MockControl.ONE_OR_MORE );
-        }
-
-        public void expectGetScope( String scope )
-        {
-            artifact.getScope();
-            control.setReturnValue( scope, MockControl.ONE_OR_MORE );
-        }
-    }
-
     private final class MockAndControlForConfigSource
     {
         AssemblerConfigurationSource configSource;
@@ -324,6 +129,15 @@
             configSource = ( AssemblerConfigurationSource ) control.getMock();
         }
 
+        public void enableGetRepositories( ArtifactRepository localRepo, List remoteRepos )
+        {
+            configSource.getLocalRepository();
+            control.setReturnValue( localRepo, MockControl.ONE_OR_MORE );
+            
+            configSource.getRemoteRepositories();
+            control.setReturnValue( remoteRepos, MockControl.ONE_OR_MORE );
+        }
+        
         public void enableGetFinalName( String finalName )
         {
             configSource.getFinalName();
@@ -337,31 +151,32 @@
         }
     }
 
-    private final class MockAndControlForLogger
+    private final class MockAndControlForProjectBuilder
     {
-        Logger logger;
-
+        MavenProjectBuilder projectBuilder;
+        
         MockControl control;
-
-        MockAndControlForLogger()
+        
+        public MockAndControlForProjectBuilder()
         {
-            control = MockControl.createControl( Logger.class );
+            control = MockControl.createControl( MavenProjectBuilder.class );
             mockManager.add( control );
-
-            logger = ( Logger ) control.getMock();
-            
-            logger.isDebugEnabled();
-            control.setReturnValue( true, MockControl.ZERO_OR_MORE );
             
-            logger.debug( null );
-            control.setMatcher( MockControl.ALWAYS_MATCHER );
-            control.setVoidCallable( MockControl.ZERO_OR_MORE );
+            projectBuilder = ( MavenProjectBuilder ) control.getMock();
         }
 
-        void expectInfo( String message )
+        public void expectBuildFromRepository( MavenProject project )
         {
-            logger.info( message );
-            control.setVoidCallable( MockControl.ONE_OR_MORE );
+            try
+            {
+                projectBuilder.buildFromRepository( null, null, null );
+                control.setMatcher( MockControl.ALWAYS_MATCHER );
+                control.setReturnValue( project, MockControl.ONE_OR_MORE );
+            }
+            catch ( ProjectBuildingException e )
+            {
+                Assert.fail( "should never happen" );
+            }
         }
     }
 

Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java?rev=434175&r1=434174&r2=434175&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java Wed Aug 23 13:58:02 2006
@@ -5,6 +5,7 @@
 import org.apache.maven.artifact.handler.ArtifactHandler;
 import org.apache.maven.model.Model;
 import org.apache.maven.plugin.assembly.AssemblerConfigurationSource;
+import org.apache.maven.plugin.assembly.InvalidAssemblerConfigurationException;
 import org.apache.maven.plugin.assembly.archive.ArchiveCreationException;
 import org.apache.maven.plugin.assembly.archive.task.testutils.MockAndControlForAddArtifactTask;
 import org.apache.maven.plugin.assembly.archive.task.testutils.MockAndControlForAddFileSetsTask;
@@ -12,6 +13,7 @@
 import org.apache.maven.plugin.assembly.testutils.MockManager;
 import org.apache.maven.plugin.assembly.testutils.TestFileManager;
 import org.apache.maven.plugins.assembly.model.Assembly;
+import org.apache.maven.plugins.assembly.model.DependencySet;
 import org.apache.maven.plugins.assembly.model.ModuleBinaries;
 import org.apache.maven.plugins.assembly.model.ModuleSet;
 import org.apache.maven.plugins.assembly.model.ModuleSources;
@@ -49,7 +51,7 @@
     }
 
     public void testExecute_ShouldSkipIfNoModuleSetsFound()
-        throws ArchiveCreationException, AssemblyFormattingException
+        throws ArchiveCreationException, AssemblyFormattingException, InvalidAssemblerConfigurationException
     {
         Assembly assembly = new Assembly();
         assembly.setIncludeBaseDirectory( false );
@@ -58,7 +60,7 @@
     }
 
     public void testExecute_ShouldAddOneModuleSetWithOneModuleInIt()
-        throws ArchiveCreationException, AssemblyFormattingException, IOException
+        throws ArchiveCreationException, AssemblyFormattingException, IOException, InvalidAssemblerConfigurationException
     {
         MockManager mm = new MockManager();
 
@@ -81,7 +83,6 @@
         macTask.expectIsSnapshot( false );
         macTask.expectGetClassifier( null );
         macTask.expectGetArtifactHandler();
-        macTask.expectArtifactGetDependencyConflictId( "group:module:jar" );
 
         int mode = Integer.parseInt( "777", 8 );
 
@@ -98,7 +99,6 @@
         bin.setOutputDirectory( "out" );
         bin.setFileMode( "777" );
         bin.setUnpack( false );
-        bin.setIncludeDependencies( false );
 
         ms.setBinaries( bin );
 
@@ -114,13 +114,13 @@
     }
 
     public void testAddModuleBinaries_ShouldReturnImmediatelyWhenBinariesIsNull()
-        throws ArchiveCreationException, AssemblyFormattingException
+        throws ArchiveCreationException, AssemblyFormattingException, InvalidAssemblerConfigurationException
     {
         createPhase( null, null ).addModuleBinaries( null, null, null, null, false );
     }
 
     public void testAddModuleBinaries_ShouldFilterPomModule()
-        throws ArchiveCreationException, AssemblyFormattingException, IOException
+        throws ArchiveCreationException, AssemblyFormattingException, IOException, InvalidAssemblerConfigurationException
     {
         MockManager mm = new MockManager();
 
@@ -128,7 +128,6 @@
 
         ModuleBinaries binaries = new ModuleBinaries();
 
-        binaries.setIncludeDependencies( false );
         binaries.setUnpack( false );
         binaries.setFileMode( "777" );
         binaries.setOutputDirectory( "out" );
@@ -149,14 +148,10 @@
     }
 
     public void testAddModuleBinaries_ShouldAddOneModuleArtifactAndNoDeps()
-        throws ArchiveCreationException, AssemblyFormattingException, IOException
+        throws ArchiveCreationException, AssemblyFormattingException, IOException, InvalidAssemblerConfigurationException
     {
         MockManager mm = new MockManager();
 
-        MockAndControlForLogger macLogger = new MockAndControlForLogger( mm );
-
-        macLogger.expectDebug( false, true );
-
         MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mm );
 
         macTask.expectArtifactGetFile( true );
@@ -166,12 +161,8 @@
         macTask.expectGetArtifactHandler();
         macTask.expectAddFile( "out/artifact", Integer.parseInt( "777", 8 ) );
 
-        macTask.artifact.getDependencyConflictId();
-        macTask.artifactCtl.setReturnValue( "group:artifact:jar", MockControl.ONE_OR_MORE );
-
         ModuleBinaries binaries = new ModuleBinaries();
 
-        binaries.setIncludeDependencies( false );
         binaries.setUnpack( false );
         binaries.setFileMode( "777" );
         binaries.setOutputDirectory( "out" );
@@ -183,23 +174,20 @@
         Set projects = Collections.singleton( project );
 
         mm.replayAll();
+        
+        Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
 
-        createPhase( macLogger.logger, null ).addModuleBinaries( binaries, projects, macTask.archiver,
+        createPhase( logger, null ).addModuleBinaries( binaries, projects, macTask.archiver,
                                                                  macTask.configSource, false );
 
         mm.verifyAll();
     }
 
     public void testAddModuleBinaries_ShouldAddOneModuleArtifactAndWithOneDepArtifact()
-        throws ArchiveCreationException, AssemblyFormattingException, IOException
+        throws ArchiveCreationException, AssemblyFormattingException, IOException, InvalidAssemblerConfigurationException
     {
         MockManager mm = new MockManager();
 
-        // MockAndControlForLogger macLogger = new MockAndControlForLogger( mm );
-        //        
-        // macLogger.expectWarn();
-        // macLogger.expectDebug( true, true );
-
         MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mm );
 
         macTask.expectArtifactGetFile( true );
@@ -209,25 +197,93 @@
         macTask.expectGetArtifactHandler();
         macTask.expectAddFile( "out/artifact", Integer.parseInt( "777", 8 ) );
 
-        macTask.artifact.getDependencyConflictId();
-        macTask.artifactCtl.setReturnValue( "group:artifact:jar", MockControl.ONE_OR_MORE );
-
         macTask.configSource.getRemoteRepositories();
         macTask.configSourceCtl.setReturnValue( null, MockControl.ONE_OR_MORE );
 
         macTask.configSource.getLocalRepository();
         macTask.configSourceCtl.setReturnValue( null, MockControl.ONE_OR_MORE );
 
-        // macTask.artifact.getId();
-        // macTask.artifactCtl.setReturnValue( "group:artifact:jar:version", MockControl.ONE_OR_MORE );
-
         ModuleBinaries binaries = new ModuleBinaries();
 
-        binaries.setIncludeDependencies( true );
         binaries.setUnpack( false );
         binaries.setFileMode( "777" );
         binaries.setOutputDirectory( "out" );
         binaries.setOutputFileNameMapping( "artifact" );
+        
+        DependencySet ds = new DependencySet();
+        ds.setOutputDirectory( binaries.getOutputDirectory() );
+        ds.setOutputFileNameMapping( "${artifactId}" );
+        ds.setFileMode( "777" );
+        
+        binaries.addDependencySet( ds );
+
+        MavenProject project = createProject( "group", "artifact", "version", null );
+        project.setArtifact( macTask.artifact );
+
+        MockAndControlForArtifact macDepArtifact = new MockAndControlForArtifact( mm );
+
+        macDepArtifact.expectGetClassifier();
+        macDepArtifact.expectIsSnapshot( false );
+        macDepArtifact.expectGetArtifactHandler();
+        macDepArtifact.expectGetArtifactId( "dep" );
+        macDepArtifact.expectGetScope( Artifact.SCOPE_COMPILE );
+        macDepArtifact.expectGetType( "jar" );
+        macDepArtifact.expectGetFile();
+
+        macTask.expectAddFile( macDepArtifact.artifactFile, "out/dep", Integer.parseInt( "777", 8 ) );
+
+        MavenProject depProject = createProject( "group", "dep", "version", null );
+
+        depProject.setArtifact( macDepArtifact.artifact );
+
+        MockAndControlForProjectBuilder macPB = new MockAndControlForProjectBuilder( mm );
+
+        macPB.expectBuildFromRepository( macDepArtifact.artifact, depProject );
+
+        project.setArtifacts( new HashSet( Collections.singleton( macDepArtifact.artifact ) ) );
+
+        Set projects = Collections.singleton( project );
+
+        mm.replayAll();
+
+        Logger overrideLogger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
+
+        ModuleSetAssemblyPhase phase = createPhase( overrideLogger, macPB.projectBuilder );
+        
+        phase.addModuleBinaries( binaries, projects, macTask.archiver, macTask.configSource, false );
+
+        mm.verifyAll();
+    }
+
+
+    public void testAddModuleBinaries_ShouldAddOneModuleArtifactAndWithOneDepArtifactUsingImpliedDepSet()
+        throws ArchiveCreationException, AssemblyFormattingException, IOException, InvalidAssemblerConfigurationException
+    {
+        MockManager mm = new MockManager();
+
+        MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mm );
+
+        macTask.expectArtifactGetFile( true );
+        macTask.expectArtifactGetArtifactId( "artifact" );
+        macTask.expectGetFinalName( "final-name" );
+        macTask.expectGetClassifier( null );
+        macTask.expectIsSnapshot( false );
+        macTask.expectGetArtifactHandler();
+        macTask.expectAddFile( "out/artifact", Integer.parseInt( "777", 8 ) );
+
+        macTask.configSource.getRemoteRepositories();
+        macTask.configSourceCtl.setReturnValue( null, MockControl.ONE_OR_MORE );
+
+        macTask.configSource.getLocalRepository();
+        macTask.configSourceCtl.setReturnValue( null, MockControl.ONE_OR_MORE );
+
+        ModuleBinaries binaries = new ModuleBinaries();
+
+        binaries.setUnpack( false );
+        binaries.setFileMode( "777" );
+        binaries.setOutputDirectory( "out" );
+        binaries.setOutputFileNameMapping( "${artifactId}" );
+        binaries.setIncludeDependencies( true );
 
         MavenProject project = createProject( "group", "artifact", "version", null );
         project.setArtifact( macTask.artifact );
@@ -237,10 +293,12 @@
         macDepArtifact.expectGetClassifier();
         macDepArtifact.expectIsSnapshot( false );
         macDepArtifact.expectGetArtifactHandler();
-        macDepArtifact.expectGetDependencyConflictId( "group", "dep", "jar" );
+        macDepArtifact.expectGetArtifactId( "dep" );
+        macDepArtifact.expectGetScope( Artifact.SCOPE_COMPILE );
+        macDepArtifact.expectGetType( "jar" );
         macDepArtifact.expectGetFile();
 
-        macTask.expectAddFile( macDepArtifact.artifactFile, "out/artifact", Integer.parseInt( "777", 8 ) );
+        macTask.expectAddFile( macDepArtifact.artifactFile, "out/dep", Integer.parseInt( "777", 8 ) );
 
         MavenProject depProject = createProject( "group", "dep", "version", null );
 
@@ -258,8 +316,9 @@
 
         Logger overrideLogger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
 
-        createPhase( overrideLogger, macPB.projectBuilder ).addModuleBinaries( binaries, projects, macTask.archiver,
-                                                                               macTask.configSource, false );
+        ModuleSetAssemblyPhase phase = createPhase( overrideLogger, macPB.projectBuilder );
+        
+        phase.addModuleBinaries( binaries, projects, macTask.archiver, macTask.configSource, false );
 
         mm.verifyAll();
     }
@@ -329,8 +388,6 @@
     {
         MockManager mm = new MockManager();
 
-        MockAndControlForLogger macLogger = new MockAndControlForLogger( mm );
-
         List excludes = new ArrayList();
 
         // nothing up this sleeve...
@@ -340,7 +397,7 @@
 
         Set artifactIds = Collections.singleton( "group:artifact:jar" );
 
-        List result = createPhase( macLogger.logger, null ).collectExcludesFromQueuedArtifacts( artifactIds, excludes );
+        List result = createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ), null ).collectExcludesFromQueuedArtifacts( artifactIds, excludes );
 
         assertEquals( 1, result.size() );
 
@@ -353,13 +410,11 @@
     {
         MockManager mm = new MockManager();
 
-        MockAndControlForLogger macLogger = new MockAndControlForLogger( mm );
-
         mm.replayAll();
 
         Set artifactIds = Collections.singleton( "group:artifact:jar" );
 
-        List result = createPhase( macLogger.logger, null ).collectExcludesFromQueuedArtifacts( artifactIds, null );
+        List result = createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ), null ).collectExcludesFromQueuedArtifacts( artifactIds, null );
 
         assertEquals( 1, result.size() );
 
@@ -374,7 +429,6 @@
         MockManager mm = new MockManager();
 
         MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mm );
-        MockAndControlForLogger macLogger = new MockAndControlForLogger( mm );
 
         macTask.expectArtifactGetFile( false );
 
@@ -385,7 +439,7 @@
 
         try
         {
-            createPhase( macLogger.logger, null ).addArtifact( macTask.artifact, null, null, null, null, false );
+            createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ), null ).addArtifact( macTask.artifact, null, null, null, null, false );
 
             fail( "Expected ArchiveCreationException since artifact file is null." );
         }
@@ -403,7 +457,6 @@
         MockManager mm = new MockManager();
 
         MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mm );
-        MockAndControlForLogger macLogger = new MockAndControlForLogger( mm );
 
         MavenProject project = createProject( "group", "artifact", "version", null );
         project.setArtifact( macTask.artifact );
@@ -424,7 +477,7 @@
 
         mm.replayAll();
 
-        createPhase( macLogger.logger, null ).addArtifact( macTask.artifact, project, macTask.archiver,
+        createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ), null ).addArtifact( macTask.artifact, project, macTask.archiver,
                                                            macTask.configSource, binaries, false );
 
         mm.verifyAll();
@@ -435,11 +488,9 @@
     {
         MockManager mm = new MockManager();
 
-        MockAndControlForLogger macLogger = new MockAndControlForLogger( mm );
-
         mm.replayAll();
 
-        createPhase( macLogger.logger, null ).addModuleSourceFileSets( null, null, null, null, false );
+        createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ), null ).addModuleSourceFileSets( null, null, null, null, false );
 
         mm.verifyAll();
     }
@@ -483,7 +534,6 @@
     {
         MockManager mm = new MockManager();
 
-        MockAndControlForLogger macLogger = new MockAndControlForLogger( mm );
         MockAndControlForConfigSource macCS = new MockAndControlForConfigSource( mm );
 
         MavenProject project = createProject( "group", "artifact", "version", null );
@@ -497,7 +547,7 @@
 
         mm.replayAll();
 
-        Set moduleProjects = createPhase( macLogger.logger, null ).getModuleProjects( moduleSet, macCS.configSource );
+        Set moduleProjects = createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ), null ).getModuleProjects( moduleSet, macCS.configSource );
 
         assertTrue( moduleProjects.isEmpty() );
 
@@ -509,7 +559,6 @@
     {
         MockManager mm = new MockManager();
 
-        MockAndControlForLogger macLogger = new MockAndControlForLogger( mm );
         MockAndControlForConfigSource macCS = new MockAndControlForConfigSource( mm );
 
         MavenProject project = createProject( "group", "artifact", "version", null );
@@ -526,7 +575,7 @@
 
         mm.replayAll();
 
-        Set moduleProjects = createPhase( macLogger.logger, null ).getModuleProjects( moduleSet, macCS.configSource );
+        Set moduleProjects = createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ), null ).getModuleProjects( moduleSet, macCS.configSource );
 
         assertTrue( moduleProjects.isEmpty() );
 
@@ -538,7 +587,6 @@
     {
         MockManager mm = new MockManager();
 
-        MockAndControlForLogger macLogger = new MockAndControlForLogger( mm );
         MockAndControlForConfigSource macCS = new MockAndControlForConfigSource( mm );
 
         MavenProject project = createProject( "group", "artifact", "version", null );
@@ -555,7 +603,7 @@
 
         mm.replayAll();
 
-        Set moduleProjects = createPhase( macLogger.logger, null ).getModuleProjects( moduleSet, macCS.configSource );
+        Set moduleProjects = createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ), null ).getModuleProjects( moduleSet, macCS.configSource );
 
         assertFalse( moduleProjects.isEmpty() );
 
@@ -571,7 +619,6 @@
     {
         MockManager mm = new MockManager();
 
-        MockAndControlForLogger macLogger = new MockAndControlForLogger( mm );
         MockAndControlForConfigSource macCS = new MockAndControlForConfigSource( mm );
 
         MavenProject project = createProject( "group", "artifact", "version", null );
@@ -590,7 +637,7 @@
 
         mm.replayAll();
 
-        Set moduleProjects = createPhase( macLogger.logger, null ).getModuleProjects( moduleSet, macCS.configSource );
+        Set moduleProjects = createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ), null ).getModuleProjects( moduleSet, macCS.configSource );
 
         assertEquals( 2, moduleProjects.size() );
 
@@ -608,7 +655,6 @@
     {
         MockManager mm = new MockManager();
 
-        MockAndControlForLogger macLogger = new MockAndControlForLogger( mm );
         MockAndControlForConfigSource macCS = new MockAndControlForConfigSource( mm );
 
         List macArtifacts = new ArrayList();
@@ -640,7 +686,7 @@
 
         mm.replayAll();
 
-        Set moduleProjects = createPhase( macLogger.logger, null ).getModuleProjects( moduleSet, macCS.configSource );
+        Set moduleProjects = createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ), null ).getModuleProjects( moduleSet, macCS.configSource );
 
         assertTrue( moduleProjects.isEmpty() );
 
@@ -785,6 +831,18 @@
             artifact = ( Artifact ) control.getMock();
         }
 
+        public void expectGetType( String type )
+        {
+            artifact.getType();
+            control.setReturnValue( type, MockControl.ONE_OR_MORE );
+        }
+
+        public void expectGetScope( String scope )
+        {
+            artifact.getScope();
+            control.setReturnValue( scope, MockControl.ONE_OR_MORE );
+        }
+
         public void expectIsSnapshot( boolean isSnapshot )
         {
             artifact.isSnapshot();
@@ -846,44 +904,6 @@
         {
             artifact.getArtifactId();
             control.setReturnValue( artifactId, MockControl.ONE_OR_MORE );
-        }
-    }
-
-    private final class MockAndControlForLogger
-    {
-        Logger logger;
-
-        MockControl control;
-
-        public MockAndControlForLogger( MockManager mockManager )
-        {
-            control = MockControl.createControl( Logger.class );
-            mockManager.add( control );
-
-            logger = ( Logger ) control.getMock();
-        }
-
-        public void expectWarn()
-        {
-            logger.warn( null );
-            control.setMatcher( MockControl.ALWAYS_MATCHER );
-            control.setVoidCallable( MockControl.ONE_OR_MORE );
-        }
-
-        public void expectDebug( boolean debugCheck, boolean debugEnabled )
-        {
-            if ( debugCheck )
-            {
-                logger.isDebugEnabled();
-                control.setReturnValue( debugEnabled, MockControl.ONE_OR_MORE );
-            }
-
-            if ( !debugCheck || debugEnabled )
-            {
-                logger.debug( null );
-                control.setMatcher( MockControl.ALWAYS_MATCHER );
-                control.setVoidCallable( MockControl.ONE_OR_MORE );
-            }
         }
     }
 

Added: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTaskTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTaskTest.java?rev=434175&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTaskTest.java (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTaskTest.java Wed Aug 23 13:58:02 2006
@@ -0,0 +1,352 @@
+package org.apache.maven.plugin.assembly.archive.task;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.model.Model;
+import org.apache.maven.plugin.assembly.AssemblerConfigurationSource;
+import org.apache.maven.plugin.assembly.archive.ArchiveCreationException;
+import org.apache.maven.plugin.assembly.archive.task.testutils.MockAndControlForAddArtifactTask;
+import org.apache.maven.plugin.assembly.format.AssemblyFormattingException;
+import org.apache.maven.plugin.assembly.testutils.MockManager;
+import org.apache.maven.plugins.assembly.model.DependencySet;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.MavenProjectBuilder;
+import org.apache.maven.project.ProjectBuildingException;
+import org.codehaus.plexus.logging.Logger;
+import org.codehaus.plexus.logging.console.ConsoleLogger;
+import org.easymock.MockControl;
+
+import java.io.IOException;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
+public class AddDependencySetsTaskTest
+    extends TestCase
+{
+    
+    private MockManager mockManager = new MockManager();
+
+    public void testAddDependencySet_ShouldNotAddDependenciesWhenProjectHasNone()
+        throws AssemblyFormattingException, ArchiveCreationException
+    {
+        MavenProject project = new MavenProject( new Model() );
+
+        MockAndControlForConfigSource macCS = new MockAndControlForConfigSource();
+
+        DependencySet ds = new DependencySet();
+        ds.setOutputDirectory( "/out" );
+
+        MockAndControlForLogger macLog = new MockAndControlForLogger();
+
+        macLog.expectInfo( "Processing DependencySet" );
+
+        mockManager.replayAll();
+
+        AddDependencySetsTask task =
+            new AddDependencySetsTask( Collections.singletonList( ds ), project, null, macLog.logger );
+        
+        task.addDependencySet( ds, null, macCS.configSource, false );
+
+        mockManager.verifyAll();
+    }
+
+    public void testAddDependencySet_ShouldAddOneDependencyFromProjectWithoutUnpacking()
+        throws AssemblyFormattingException, ArchiveCreationException, IOException
+    {
+        verifyOneDependencyAdded( "out", false );
+    }
+
+    public void testAddDependencySet_ShouldAddOneDependencyFromProjectUnpacked()
+        throws AssemblyFormattingException, ArchiveCreationException, IOException
+    {
+        verifyOneDependencyAdded( "out", true );
+    }
+
+    private void verifyOneDependencyAdded( String outputLocation, boolean unpack )
+        throws AssemblyFormattingException, ArchiveCreationException, IOException
+    {
+        MavenProject project = new MavenProject( new Model() );
+
+        DependencySet ds = new DependencySet();
+        ds.setOutputDirectory( outputLocation );
+        ds.setOutputFileNameMapping( "artifact" );
+        ds.setUnpack( unpack );
+        ds.setScope( Artifact.SCOPE_COMPILE );
+
+        ds.setDirectoryMode( Integer.toString( 8, 8 ) );
+        ds.setFileMode( Integer.toString( 8, 8 ) );
+
+        MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mockManager );
+
+        macTask.expectArtifactGetFile();
+        macTask.expectArtifactGetType( "jar" );
+        macTask.expectArtifactGetScope( Artifact.SCOPE_COMPILE );
+        macTask.expectGetClassifier( null );
+        macTask.expectIsSnapshot( false );
+        macTask.expectGetArtifactHandler();
+
+        if ( unpack )
+        {
+            macTask.expectAddArchivedFileSet( outputLocation + "/artifact/", null, null );
+            macTask.expectModeChange( -1, -1, 8, 8, 2 );
+        }
+        else
+        {
+            macTask.expectAddFile( outputLocation + "/artifact", 8 );
+        }
+
+        project.setArtifacts( Collections.singleton( macTask.artifact ) );
+
+        MockAndControlForConfigSource macCS = new MockAndControlForConfigSource();
+
+        macCS.enableGetFinalName( "final-name" );
+        macCS.enableGetRepositories( null, Collections.EMPTY_LIST );
+        
+        MockAndControlForLogger macLog = new MockAndControlForLogger();
+
+        macLog.expectInfo( "Processing DependencySet" );
+
+        MockAndControlForProjectBuilder macPB = new MockAndControlForProjectBuilder();
+        
+        MavenProject depProject = new MavenProject( new Model() );
+        
+        macPB.expectBuildFromRepository( depProject );
+
+        AddDependencySetsTask task =
+            new AddDependencySetsTask( Collections.singletonList( ds ), project, macPB.projectBuilder, macLog.logger );
+        
+        mockManager.replayAll();
+
+        task.addDependencySet( ds, macTask.archiver, macCS.configSource, false );
+
+        mockManager.verifyAll();
+    }
+    
+    public void testGetDependencyArtifacts_ShouldGetOneDependencyArtifact()
+    {
+        MavenProject project = new MavenProject( new Model() );
+
+        MockAndControlForArtifact mac = new MockAndControlForArtifact();
+
+        mac.expectGetScope( Artifact.SCOPE_COMPILE );
+
+        project.setArtifacts( Collections.singleton( mac.artifact ) );
+
+        DependencySet dependencySet = new DependencySet();
+
+        Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
+
+        MockAndControlForProjectBuilder macPB = new MockAndControlForProjectBuilder();
+
+        mockManager.replayAll();
+
+        AddDependencySetsTask task =
+            new AddDependencySetsTask( Collections.singletonList( dependencySet ), project, macPB.projectBuilder, logger );
+        
+        Set result = task.getDependencyArtifacts( project, dependencySet );
+
+        assertNotNull( result );
+        assertEquals( 1, result.size() );
+        assertSame( mac.artifact, result.iterator().next() );
+
+        mockManager.verifyAll();
+    }
+
+    public void testGetDependencyArtifacts_ShouldFilterOneDependencyArtifactViaInclude()
+    {
+        MavenProject project = new MavenProject( new Model() );
+
+        Set artifacts = new HashSet();
+
+        MockAndControlForArtifact mac = new MockAndControlForArtifact();
+
+        mac.enableGetGroupId( "group" );
+        mac.enableGetArtifactId( "artifact" );
+        mac.enableGetDependencyConflictId( "group:artifact:jar" );
+        mac.expectGetScope( Artifact.SCOPE_COMPILE );
+
+        artifacts.add( mac.artifact );
+
+        MockAndControlForArtifact mac2 = new MockAndControlForArtifact();
+
+        mac2.enableGetGroupId( "group2" );
+        mac2.enableGetArtifactId( "artifact2" );
+        mac2.enableGetDependencyConflictId( "group2:artifact2:jar" );
+        mac2.expectGetScope( Artifact.SCOPE_COMPILE );
+        mac2.enableGetDependencyTrail( Collections.EMPTY_LIST );
+        mac2.enableGetId( "group2:artifact2:1.0" );
+
+        artifacts.add( mac2.artifact );
+
+        project.setArtifacts( artifacts );
+
+        DependencySet dependencySet = new DependencySet();
+
+        dependencySet.addInclude( "group:artifact" );
+
+        Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
+
+        mockManager.replayAll();
+
+        AddDependencySetsTask task =
+            new AddDependencySetsTask( Collections.singletonList( dependencySet ), project, null, logger );
+        
+        Set result = task.getDependencyArtifacts( project, dependencySet );
+
+        assertNotNull( result );
+        assertEquals( 1, result.size() );
+        assertSame( mac.artifact, result.iterator().next() );
+
+        mockManager.verifyAll();
+    }
+
+    private final class MockAndControlForArtifact
+    {
+        Artifact artifact;
+
+        MockControl control;
+
+        public MockAndControlForArtifact()
+        {
+            control = MockControl.createControl( Artifact.class );
+            mockManager.add( control );
+
+            artifact = ( Artifact ) control.getMock();
+        }
+
+        public void enableGetId( String id )
+        {
+            artifact.getId();
+            control.setReturnValue( id, MockControl.ONE_OR_MORE );
+        }
+
+        public void enableGetDependencyTrail( List dependencyTrail )
+        {
+            artifact.getDependencyTrail();
+            control.setReturnValue( dependencyTrail, MockControl.ONE_OR_MORE );
+        }
+
+        public void enableGetDependencyConflictId( String conflictId )
+        {
+            artifact.getDependencyConflictId();
+            control.setReturnValue( conflictId, MockControl.ONE_OR_MORE );
+        }
+
+        public void enableGetArtifactId( String artifactId )
+        {
+            artifact.getArtifactId();
+            control.setReturnValue( artifactId, MockControl.ONE_OR_MORE );
+        }
+
+        public void enableGetGroupId( String groupId )
+        {
+            artifact.getGroupId();
+            control.setReturnValue( groupId, MockControl.ONE_OR_MORE );
+        }
+
+        public void expectGetScope( String scope )
+        {
+            artifact.getScope();
+            control.setReturnValue( scope, MockControl.ONE_OR_MORE );
+        }
+    }
+
+    private final class MockAndControlForConfigSource
+    {
+        AssemblerConfigurationSource configSource;
+
+        MockControl control;
+
+        MockAndControlForConfigSource()
+        {
+            control = MockControl.createControl( AssemblerConfigurationSource.class );
+            mockManager.add( control );
+
+            configSource = ( AssemblerConfigurationSource ) control.getMock();
+        }
+
+        public void enableGetRepositories( ArtifactRepository localRepo, List remoteRepos )
+        {
+            configSource.getLocalRepository();
+            control.setReturnValue( localRepo, MockControl.ONE_OR_MORE );
+            
+            configSource.getRemoteRepositories();
+            control.setReturnValue( remoteRepos, MockControl.ONE_OR_MORE );
+        }
+
+        public void enableGetFinalName( String finalName )
+        {
+            configSource.getFinalName();
+            control.setReturnValue( finalName, MockControl.ONE_OR_MORE );
+        }
+
+        void enableGetProject( MavenProject project )
+        {
+            configSource.getProject();
+            control.setReturnValue( project, MockControl.ONE_OR_MORE );
+        }
+    }
+
+    private final class MockAndControlForLogger
+    {
+        Logger logger;
+
+        MockControl control;
+
+        MockAndControlForLogger()
+        {
+            control = MockControl.createControl( Logger.class );
+            mockManager.add( control );
+
+            logger = ( Logger ) control.getMock();
+            
+            logger.isDebugEnabled();
+            control.setReturnValue( true, MockControl.ZERO_OR_MORE );
+            
+            logger.debug( null );
+            control.setMatcher( MockControl.ALWAYS_MATCHER );
+            control.setVoidCallable( MockControl.ZERO_OR_MORE );
+        }
+
+        void expectInfo( String message )
+        {
+            logger.info( message );
+            control.setVoidCallable( MockControl.ONE_OR_MORE );
+        }
+    }
+    
+    private final class MockAndControlForProjectBuilder
+    {
+        MavenProjectBuilder projectBuilder;
+        
+        MockControl control;
+        
+        public MockAndControlForProjectBuilder()
+        {
+            control = MockControl.createControl( MavenProjectBuilder.class );
+            mockManager.add( control );
+            
+            projectBuilder = ( MavenProjectBuilder ) control.getMock();
+        }
+
+        public void expectBuildFromRepository( MavenProject project )
+        {
+            try
+            {
+                projectBuilder.buildFromRepository( null, null, null );
+                control.setMatcher( MockControl.ALWAYS_MATCHER );
+                control.setReturnValue( project, MockControl.ONE_OR_MORE );
+            }
+            catch ( ProjectBuildingException e )
+            {
+                Assert.fail( "should never happen" );
+            }
+        }
+    }
+
+}

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTaskTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTaskTest.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddArtifactTask.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddArtifactTask.java?rev=434175&r1=434174&r2=434175&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddArtifactTask.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddArtifactTask.java Wed Aug 23 13:58:02 2006
@@ -206,4 +206,16 @@
         artifactCtl.setReturnValue( isSnapshot, MockControl.ONE_OR_MORE );
     }
 
+    public void expectArtifactGetType( String type )
+    {
+        artifact.getType();
+        artifactCtl.setReturnValue( type, MockControl.ONE_OR_MORE );
+    }
+
+    public void expectArtifactGetArtifactId( String artifactId )
+    {
+        artifact.getArtifactId();
+        artifactCtl.setReturnValue( artifactId, MockControl.ONE_OR_MORE );
+    }
+
 }