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/03 01:32:42 UTC

svn commit: r428190 - in /maven/plugins/branches/MASSEMBLY-124/src: main/java/org/apache/maven/plugin/assembly/archive/ main/java/org/apache/maven/plugin/assembly/archive/phase/ main/java/org/apache/maven/plugin/assembly/filter/ main/java/org/apache/ma...

Author: jdcasey
Date: Wed Aug  2 16:32:41 2006
New Revision: 428190

URL: http://svn.apache.org/viewvc?rev=428190&view=rev
Log:
All but mojo front-ends and DefaultRepositoryAssembler are tested.

Added:
    maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiverTest.java   (with props)
    maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/ManifestCreationFinalizerTest.java   (with props)
Modified:
    maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiver.java
    maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/archive/ManifestCreationFinalizer.java
    maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhase.java
    maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/filter/AssemblyExcludesArtifactFilter.java
    maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/filter/AssemblyIncludesArtifactFilter.java
    maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/filter/AssemblyScopeArtifactFilter.java
    maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/filter/StatisticsReportingFilter.java
    maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/utils/FilterUtils.java
    maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhaseTest.java
    maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java
    maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddArtifactTask.java
    maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/filter/AssemblyArtifactFilterTCK.java
    maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/filter/AssemblyScopeArtifactFilterTest.java
    maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/utils/FilterUtilsTest.java

Modified: maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiver.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiver.java?rev=428190&r1=428189&r2=428190&view=diff
==============================================================================
--- maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiver.java (original)
+++ maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiver.java Wed Aug  2 16:32:41 2006
@@ -27,8 +27,7 @@
 import org.codehaus.plexus.logging.AbstractLogEnabled;
 
 /**
- * @plexus.component role="org.apache.maven.plugin.assembly.archive.ArchiveCreator"
- *                   role-hint="default"
+ * @plexus.component role="org.apache.maven.plugin.assembly.archive.ArchiveCreator" role-hint="default"
  */
 public class DefaultAssemblyArchiver
     extends AbstractLogEnabled
@@ -36,7 +35,7 @@
 {
 
     private static final ArchiveFileFilter JAR_SECURITY_FILE_FILTER = new JarSecurityFileFilter();
-    
+
     /**
      * @plexus.requirement
      */
@@ -45,7 +44,19 @@
     /**
      * @plexus.requirement role="org.apache.maven.plugin.assembly.archive.phase.AssemblyArchiverPhase"
      */
-    private List archiverPhases;
+    private List assemblyPhases;
+    
+    public DefaultAssemblyArchiver()
+    {
+        // needed for plexus
+    }
+    
+    // introduced for testing.
+    public DefaultAssemblyArchiver( ArchiverManager archiverManager, List assemblyPhases )
+    {
+        this.archiverManager = archiverManager;
+        this.assemblyPhases = assemblyPhases;
+    }
 
     public File createArchive( Assembly assembly, String fullName, String format,
                                AssemblerConfigurationSource configSource )
@@ -56,22 +67,22 @@
         ComponentsXmlArchiverFileFilter componentsXmlFilter = new ComponentsXmlArchiverFileFilter();
 
         File outputDirectory = configSource.getOutputDirectory();
-        
+
         File destFile = new File( outputDirectory, filename );
 
         try
         {
             Archiver archiver = createArchiver( format, configSource.getTarLongFileMode(), componentsXmlFilter );
 
-            for ( Iterator phaseIterator = archiverPhases.iterator(); phaseIterator.hasNext(); )
+            for ( Iterator phaseIterator = assemblyPhases.iterator(); phaseIterator.hasNext(); )
             {
-                AssemblyArchiverPhase phase = (AssemblyArchiverPhase) phaseIterator.next();
+                AssemblyArchiverPhase phase = ( AssemblyArchiverPhase ) phaseIterator.next();
 
                 phase.execute( assembly, archiver, configSource );
             }
 
             archiver.setDestFile( destFile );
-            
+
             archiver.createArchive();
         }
         catch ( ArchiverException e )
@@ -100,82 +111,105 @@
      * @throws org.codehaus.plexus.archiver.ArchiverException
      * @throws org.codehaus.plexus.archiver.manager.NoSuchArchiverException
      */
-    protected Archiver createArchiver( String format, String tarLongFileMode, ComponentsXmlArchiverFileFilter componentsXmlFilter )
+    protected Archiver createArchiver( String format, String tarLongFileMode,
+                                       ComponentsXmlArchiverFileFilter componentsXmlFilter )
         throws ArchiverException, NoSuchArchiverException
     {
         Archiver archiver;
         if ( format.startsWith( "tar" ) )
         {
-            TarArchiver tarArchiver = (TarArchiver) this.archiverManager.getArchiver( "tar" );
-            archiver = tarArchiver;
-            int index = format.indexOf( '.' );
-            if ( index >= 0 )
-            {
-                // TODO: this needs a cleanup in plexus archiver - use a real
-                // typesafe enum
-                TarArchiver.TarCompressionMethod tarCompressionMethod = new TarArchiver.TarCompressionMethod();
-                // TODO: this should accept gz and bz2 as well so we can skip
-                // over the switch
-                String compression = format.substring( index + 1 );
-                if ( "gz".equals( compression ) )
-                {
-                    tarCompressionMethod.setValue( "gzip" );
-                }
-                else if ( "bz2".equals( compression ) )
-                {
-                    tarCompressionMethod.setValue( "bzip2" );
-                }
-                else
-                {
-                    // TODO: better handling
-                    throw new IllegalArgumentException( "Unknown compression format: " + compression );
-                }
-                tarArchiver.setCompression( tarCompressionMethod );
-
-                TarLongFileMode tarFileMode = new TarLongFileMode();
-
-                tarFileMode.setValue( tarLongFileMode );
-
-                tarArchiver.setLongfile( tarFileMode );
-            }
+            archiver = createTarArchiver( format, tarLongFileMode );
         }
         else if ( "war".equals( format ) )
         {
-            WarArchiver warArchiver = (WarArchiver) this.archiverManager.getArchiver( "war" );
-            warArchiver.setIgnoreWebxml( false ); // See MNG-1274
-            archiver = warArchiver;
+            archiver = createWarArchiver( );
         }
         else
         {
             archiver = this.archiverManager.getArchiver( format );
         }
 
+        configureArchiverFilters( archiver, componentsXmlFilter );
+
+        configureArchiverFinalizers( archiver, componentsXmlFilter );
+
+        return archiver;
+    }
+
+    protected void configureArchiverFinalizers( Archiver archiver, ComponentsXmlArchiverFileFilter componentsXmlFilter )
+    {
+        if ( archiver instanceof FinalizerEnabled )
+        {
+            ( ( FinalizerEnabled ) archiver ).setArchiveFinalizers( Collections.singletonList( componentsXmlFilter ) );
+        }
+    }
+
+    protected void configureArchiverFilters( Archiver archiver, ComponentsXmlArchiverFileFilter componentsXmlFilter )
+    {
         /*
-         * If the assembly is 'jar-with-dependencies', remove the
-         * security files in all dependencies that will prevent the
-         * uberjar to execute. Please see MASSEMBLY-64 for details.
+         * If the assembly is 'jar-with-dependencies', remove the security files in all dependencies that will prevent
+         * the uberjar to execute. Please see MASSEMBLY-64 for details.
          */
         if ( archiver instanceof FilterEnabled )
         {
             List filters = new ArrayList();
-            
+
             filters.add( componentsXmlFilter );
-            
+
             if ( archiver instanceof JarArchiver )
             {
                 filters.add( JAR_SECURITY_FILE_FILTER );
             }
-            
-            ((FilterEnabled) archiver).setArchiveFilters( filters );
+
+            ( ( FilterEnabled ) archiver ).setArchiveFilters( filters );
         }
-        
-        if ( archiver instanceof FinalizerEnabled )
-        {
-            
-            ((FinalizerEnabled) archiver).setArchiveFinalizers( Collections.singletonList( componentsXmlFilter ) );
+    }
+
+    protected Archiver createWarArchiver()
+        throws NoSuchArchiverException
+    {
+        WarArchiver warArchiver = ( WarArchiver ) this.archiverManager.getArchiver( "war" );
+        warArchiver.setIgnoreWebxml( false ); // See MNG-1274
+
+        return warArchiver;
+    }
+
+    protected Archiver createTarArchiver( String format, String tarLongFileMode )
+        throws NoSuchArchiverException, ArchiverException
+    {
+        TarArchiver tarArchiver = ( TarArchiver ) this.archiverManager.getArchiver( "tar" );
+        int index = format.indexOf( '.' );
+        if ( index >= 0 )
+        {
+            // TODO: this needs a cleanup in plexus archiver - use a real
+            // typesafe enum
+            TarArchiver.TarCompressionMethod tarCompressionMethod = new TarArchiver.TarCompressionMethod();
+            // TODO: this should accept gz and bz2 as well so we can skip
+            // over the switch
+            String compression = format.substring( index + 1 );
+            if ( "gz".equals( compression ) )
+            {
+                tarCompressionMethod.setValue( "gzip" );
+            }
+            else if ( "bz2".equals( compression ) )
+            {
+                tarCompressionMethod.setValue( "bzip2" );
+            }
+            else
+            {
+                // TODO: better handling
+                throw new IllegalArgumentException( "Unknown compression format: " + compression );
+            }
+            tarArchiver.setCompression( tarCompressionMethod );
         }
+
+        TarLongFileMode tarFileMode = new TarLongFileMode();
+
+        tarFileMode.setValue( tarLongFileMode );
+
+        tarArchiver.setLongfile( tarFileMode );
         
-        return archiver;
+        return tarArchiver;
     }
 
 }

Modified: maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/archive/ManifestCreationFinalizer.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/archive/ManifestCreationFinalizer.java?rev=428190&r1=428189&r2=428190&view=diff
==============================================================================
--- maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/archive/ManifestCreationFinalizer.java (original)
+++ maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/archive/ManifestCreationFinalizer.java Wed Aug  2 16:32:41 2006
@@ -66,7 +66,7 @@
                     manifest = mavenArchiver.getManifest( project, archiveConfiguration.getManifest() );
                 }
 
-                if ( manifest != null )
+                if ( manifest != null && ( archiver instanceof JarArchiver ) )
                 {
                     JarArchiver jarArchiver = (JarArchiver) archiver;
                     jarArchiver.addConfiguredManifest( manifest );

Modified: maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhase.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhase.java?rev=428190&r1=428189&r2=428190&view=diff
==============================================================================
--- maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhase.java (original)
+++ maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhase.java Wed Aug  2 16:32:41 2006
@@ -62,6 +62,15 @@
             ModuleSet moduleSet = ( ModuleSet ) i.next();
 
             Set moduleProjects = getModuleProjects( moduleSet, configSource );
+            
+            ModuleSources sources = moduleSet.getSources();
+            ModuleBinaries binaries = moduleSet.getBinaries();
+            
+            if ( sources == null && binaries == null )
+            {
+                getLogger().warn( "Encountered ModuleSet with no sources or binaries specified. Skipping." );
+                continue;
+            }
 
             addModuleSourceFileSets( moduleSet.getSources(), moduleProjects, archiver, configSource,
                                      includeBaseDirectory );
@@ -106,7 +115,8 @@
                 List includes = binaries.getIncludes();
                 
                 // we don't need to include dependencies which have already been found.
-                List excludes = collectExcludesFromQueuedArtifacts( visitedArtifacts, binaries.getExcludes() );
+//                List excludes = collectExcludesFromQueuedArtifacts( visitedArtifacts, binaries.getExcludes() );
+                List excludes = binaries.getExcludes();
 
                 FilterUtils.filterArtifacts( binaryDependencies, includes, excludes, true, Collections.EMPTY_LIST,
                                              getLogger() );

Modified: maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/filter/AssemblyExcludesArtifactFilter.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/filter/AssemblyExcludesArtifactFilter.java?rev=428190&r1=428189&r2=428190&view=diff
==============================================================================
--- maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/filter/AssemblyExcludesArtifactFilter.java (original)
+++ maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/filter/AssemblyExcludesArtifactFilter.java Wed Aug  2 16:32:41 2006
@@ -40,11 +40,24 @@
 
     public boolean include( Artifact artifact )
     {
-        return !super.include( artifact );
+        boolean shouldInclude = !patternMatches( artifact );
+        
+        if ( !shouldInclude )
+        {
+            addFilteredArtifactId( artifact.getId() );
+        }
+        
+        return shouldInclude;
     }
-    
+
     protected String getFilterDescription()
     {
         return "artifact exclusion filter";
     }
+    
+    public String toString()
+    {
+        return "Excludes filter:" + getPatternsAsString();
+    }
+    
 }

Modified: maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/filter/AssemblyIncludesArtifactFilter.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/filter/AssemblyIncludesArtifactFilter.java?rev=428190&r1=428189&r2=428190&view=diff
==============================================================================
--- maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/filter/AssemblyIncludesArtifactFilter.java (original)
+++ maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/filter/AssemblyIncludesArtifactFilter.java Wed Aug  2 16:32:41 2006
@@ -41,6 +41,7 @@
     private final boolean actTransitively;
     
     private Set patternsTriggered = new HashSet();
+    private List filteredArtifactIds = new ArrayList();
 
     public AssemblyIncludesArtifactFilter( List patterns )
     {
@@ -56,6 +57,23 @@
 
     public boolean include( Artifact artifact )
     {
+        boolean shouldInclude = patternMatches( artifact );
+        
+        if ( !shouldInclude )
+        {
+            addFilteredArtifactId( artifact.getId() );
+        }
+        
+        return shouldInclude;
+    }
+
+    protected void addFilteredArtifactId( String artifactId )
+    {
+        filteredArtifactIds.add( artifactId );
+    }
+    
+    protected boolean patternMatches( Artifact artifact )
+    {
         String shortId = ArtifactUtils.versionlessKey( artifact );
         String id = artifact.getDependencyConflictId();
         
@@ -135,9 +153,45 @@
             }
         }
     }
+    
+    public String toString()
+    {
+        return "Includes filter:" + getPatternsAsString();
+    }
+    
+    protected String getPatternsAsString()
+    {
+        StringBuffer buffer = new StringBuffer();
+        for ( Iterator it = patterns.iterator(); it.hasNext(); )
+        {
+            String pattern = ( String ) it.next();
+            
+            buffer.append( "\no \'" ).append( pattern ).append( "\'" );
+        }
+        
+        return buffer.toString();
+    }
 
     protected String getFilterDescription()
     {
         return "artifact inclusion filter";
     }
+
+    public void reportFilteredArtifacts( Logger logger )
+    {
+        if ( !filteredArtifactIds.isEmpty() && logger.isDebugEnabled() )
+        {
+            StringBuffer buffer = new StringBuffer( "The following artifacts were removed by this filter: " );
+            
+            for ( Iterator it = filteredArtifactIds.iterator(); it.hasNext(); )
+            {
+                String artifactId = ( String ) it.next();
+                
+                buffer.append( '\n' ).append( artifactId );
+            }
+            
+            logger.debug( buffer.toString() );
+        }
+    }
+
 }

Modified: maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/filter/AssemblyScopeArtifactFilter.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/filter/AssemblyScopeArtifactFilter.java?rev=428190&r1=428189&r2=428190&view=diff
==============================================================================
--- maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/filter/AssemblyScopeArtifactFilter.java (original)
+++ maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/filter/AssemblyScopeArtifactFilter.java Wed Aug  2 16:32:41 2006
@@ -19,12 +19,17 @@
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.DefaultArtifact;
 import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
+import org.codehaus.plexus.logging.Logger;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
 
 /**
  * TODO: include in maven-artifact in future
  */
 public class AssemblyScopeArtifactFilter
-    implements ArtifactFilter
+    implements ArtifactFilter, StatisticsReportingFilter
 {
     private final boolean compileScope;
 
@@ -36,6 +41,18 @@
 
     private final boolean systemScope;
 
+    private boolean compileScopeHit = false;
+
+    private boolean runtimeScopeHit = false;
+
+    private boolean testScopeHit = false;
+
+    private boolean providedScopeHit = false;
+
+    private boolean systemScopeHit = false;
+
+    private List filteredArtifactIds = new ArrayList();
+
     public AssemblyScopeArtifactFilter( String scope )
     {
         if ( DefaultArtifact.SCOPE_COMPILE.equals( scope ) )
@@ -90,29 +107,102 @@
 
     public boolean include( Artifact artifact )
     {
+        boolean result = true;
+
         if ( Artifact.SCOPE_COMPILE.equals( artifact.getScope() ) )
         {
-            return compileScope;
+            compileScopeHit = true;
+            result = compileScope;
         }
         else if ( Artifact.SCOPE_RUNTIME.equals( artifact.getScope() ) )
         {
-            return runtimeScope;
+            runtimeScopeHit = true;
+            result = runtimeScope;
         }
         else if ( Artifact.SCOPE_TEST.equals( artifact.getScope() ) )
         {
-            return testScope;
+            testScopeHit = true;
+            result = testScope;
         }
         else if ( Artifact.SCOPE_PROVIDED.equals( artifact.getScope() ) )
         {
-            return providedScope;
+            providedScopeHit = true;
+            result = providedScope;
         }
         else if ( Artifact.SCOPE_SYSTEM.equals( artifact.getScope() ) )
         {
-            return systemScope;
+            systemScopeHit = true;
+            result = systemScope;
         }
-        else
+
+        if ( !result )
+        {
+            filteredArtifactIds.add( artifact.getId() );
+        }
+
+        return result;
+    }
+
+    public String toString()
+    {
+        return "Scope filter [compile=" + compileScope + ", runtime=" + runtimeScope + ", test=" + testScope
+                        + ", provided=" + providedScope + ", system=" + systemScope + "]";
+    }
+
+    public void reportFilteredArtifacts( Logger logger )
+    {
+        if ( !filteredArtifactIds.isEmpty() && logger.isDebugEnabled() )
+        {
+            StringBuffer buffer = new StringBuffer( "The following artifacts were removed by this filter: " );
+
+            for ( Iterator it = filteredArtifactIds.iterator(); it.hasNext(); )
+            {
+                String artifactId = ( String ) it.next();
+
+                buffer.append( '\n' ).append( artifactId );
+            }
+
+            logger.debug( buffer.toString() );
+        }
+    }
+
+    public void reportMissedCriteria( Logger logger )
+    {
+        if ( logger.isDebugEnabled() )
         {
-            return true;
+            StringBuffer buffer = new StringBuffer();
+
+            boolean report = false;
+            if ( !compileScopeHit )
+            {
+                buffer.append( "\no Compile" );
+                report = true;
+            }
+            if ( !runtimeScopeHit )
+            {
+                buffer.append( "\no Runtime" );
+                report = true;
+            }
+            if ( !testScopeHit )
+            {
+                buffer.append( "\no Test" );
+                report = true;
+            }
+            if ( !providedScopeHit )
+            {
+                buffer.append( "\no Provided" );
+                report = true;
+            }
+            if ( !systemScopeHit )
+            {
+                buffer.append( "\no System" );
+                report = true;
+            }
+
+            if ( report )
+            {
+                logger.debug( "The following scope filters were not used: " + buffer.toString() );
+            }
         }
     }
 }

Modified: maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/filter/StatisticsReportingFilter.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/filter/StatisticsReportingFilter.java?rev=428190&r1=428189&r2=428190&view=diff
==============================================================================
--- maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/filter/StatisticsReportingFilter.java (original)
+++ maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/filter/StatisticsReportingFilter.java Wed Aug  2 16:32:41 2006
@@ -6,5 +6,7 @@
 {
     
     void reportMissedCriteria( Logger logger );
+    
+    void reportFilteredArtifacts( Logger logger );
 
 }

Modified: maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/utils/FilterUtils.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/utils/FilterUtils.java?rev=428190&r1=428189&r2=428190&view=diff
==============================================================================
--- maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/utils/FilterUtils.java (original)
+++ maven/plugins/branches/MASSEMBLY-124/src/main/java/org/apache/maven/plugin/assembly/utils/FilterUtils.java Wed Aug  2 16:32:41 2006
@@ -127,7 +127,15 @@
             
             if ( f instanceof StatisticsReportingFilter )
             {
-                ((StatisticsReportingFilter) f).reportMissedCriteria( logger );
+                StatisticsReportingFilter sFilter = (StatisticsReportingFilter) f;
+                
+                if( logger.isDebugEnabled() )
+                {
+                    logger.debug( "Statistics for " + sFilter + "\n" );
+                }
+                
+                sFilter.reportMissedCriteria( logger );
+                sFilter.reportFilteredArtifacts( logger );
             }
         }
     }

Added: maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiverTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiverTest.java?rev=428190&view=auto
==============================================================================
--- maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiverTest.java (added)
+++ maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiverTest.java Wed Aug  2 16:32:41 2006
@@ -0,0 +1,533 @@
+package org.apache.maven.plugin.assembly.archive;
+
+import org.apache.maven.plugin.assembly.AssemblerConfigurationSource;
+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;
+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.codehaus.plexus.archiver.Archiver;
+import org.codehaus.plexus.archiver.ArchiverException;
+import org.codehaus.plexus.archiver.FilterEnabled;
+import org.codehaus.plexus.archiver.FinalizerEnabled;
+import org.codehaus.plexus.archiver.manager.ArchiverManager;
+import org.codehaus.plexus.archiver.manager.NoSuchArchiverException;
+import org.codehaus.plexus.archiver.tar.TarArchiver;
+import org.codehaus.plexus.archiver.tar.TarLongFileMode;
+import org.codehaus.plexus.archiver.war.WarArchiver;
+import org.codehaus.plexus.archiver.zip.ZipArchiver;
+import org.codehaus.plexus.logging.Logger;
+import org.easymock.MockControl;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Collections;
+import java.util.List;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
+public class DefaultAssemblyArchiverTest
+    extends TestCase
+{
+    
+    private TestFileManager fileManager = new TestFileManager( "def-assy-archiver.test.", "" );
+    
+    public void tearDown() throws IOException
+    {
+        fileManager.cleanUp();
+    }
+
+    public void testCreateArchive()
+        throws ArchiveCreationException, AssemblyFormattingException
+    {
+        MockManager mm = new MockManager();
+
+        MockAndControlForArchiverManager macMgr = new MockAndControlForArchiverManager( mm );
+        
+        macMgr.expectGetArchiver( "zip", Archiver.class );
+
+        MockControl phaseControl = MockControl.createControl( AssemblyArchiverPhase.class );
+        mm.add( phaseControl );
+
+        AssemblyArchiverPhase phase = ( AssemblyArchiverPhase ) phaseControl.getMock();
+
+        phase.execute( null, null, null );
+        phaseControl.setMatcher( MockControl.ALWAYS_MATCHER );
+        
+        MockControl csControl = MockControl.createControl( AssemblerConfigurationSource.class );
+        mm.add( csControl );
+        
+        AssemblerConfigurationSource configSource = ( AssemblerConfigurationSource ) csControl.getMock();
+        
+        File outDir = fileManager.createTempDir();
+        
+        macMgr.archiver.setDestFile( new File( outDir, "full-name.zip" ) );
+        
+        try
+        {
+            macMgr.archiver.createArchive();
+        }
+        catch ( ArchiverException e )
+        {
+            fail( "Should never happen" );
+        }
+        catch ( IOException e )
+        {
+            fail( "Should never happen" );
+        }
+        
+        configSource.getOutputDirectory();
+        csControl.setReturnValue( outDir );
+        
+        configSource.getTarLongFileMode();
+        csControl.setReturnValue( null );
+        
+        Assembly assembly = new Assembly();
+        
+        mm.replayAll();
+        
+        DefaultAssemblyArchiver subject = createSubject( macMgr.archiverManager, Collections.singletonList( phase ), null );
+        
+        subject.createArchive( assembly, "full-name", "zip", configSource );
+        
+        mm.verifyAll();
+    }
+
+    public void testCreateArchiver_ShouldCreateTarArchiverWithNoCompression()
+        throws NoSuchArchiverException, ArchiverException
+    {
+        MockManager mm = new MockManager();
+
+        TestTarArchiver ttArchiver = new TestTarArchiver();
+
+        MockAndControlForArchiverManager macArchiverManager = new MockAndControlForArchiverManager( mm );
+
+        macArchiverManager.expectGetArchiver( "tar", ttArchiver );
+
+        ComponentsXmlArchiverFileFilter filter = new ComponentsXmlArchiverFileFilter();
+
+        mm.replayAll();
+
+        DefaultAssemblyArchiver subject =
+            createSubject( macArchiverManager.archiverManager, Collections.EMPTY_LIST, null );
+
+        subject.createArchiver( "tar", TarLongFileMode.FAIL, filter );
+
+        assertNull( ttArchiver.compressionMethod );
+        assertEquals( TarLongFileMode.FAIL, ttArchiver.longFileMode.getValue() );
+
+        mm.verifyAll();
+    }
+
+    public void testCreateArchiver_ShouldCreateWarArchiverWithIgnoreWebxmlSetToFalse()
+        throws NoSuchArchiverException, ArchiverException
+    {
+        MockManager mm = new MockManager();
+
+        TestWarArchiver twArchiver = new TestWarArchiver();
+
+        MockAndControlForArchiverManager macArchiverManager = new MockAndControlForArchiverManager( mm );
+
+        macArchiverManager.expectGetArchiver( "war", twArchiver );
+
+        ComponentsXmlArchiverFileFilter filter = new ComponentsXmlArchiverFileFilter();
+
+        mm.replayAll();
+
+        DefaultAssemblyArchiver subject =
+            createSubject( macArchiverManager.archiverManager, Collections.EMPTY_LIST, null );
+
+        subject.createArchiver( "war", null, filter );
+
+        assertFalse( twArchiver.ignoreWebxml );
+    }
+
+    public void testCreateArchiver_ShouldCreateZipArchiver()
+        throws NoSuchArchiverException, ArchiverException
+    {
+        MockManager mm = new MockManager();
+
+        ZipArchiver archiver = new ZipArchiver();
+
+        MockAndControlForArchiverManager macArchiverManager = new MockAndControlForArchiverManager( mm );
+
+        macArchiverManager.expectGetArchiver( "zip", archiver );
+
+        ComponentsXmlArchiverFileFilter filter = new ComponentsXmlArchiverFileFilter();
+
+        mm.replayAll();
+
+        DefaultAssemblyArchiver subject =
+            createSubject( macArchiverManager.archiverManager, Collections.EMPTY_LIST, null );
+
+        subject.createArchiver( "zip", null, filter );
+    }
+
+    public void testConfigureArchiverFinalizers_ShouldDoNothingWhenNotSupportedByArchiver()
+    {
+        MockManager mm = new MockManager();
+
+        MockAndControlForArchiverManager macArchiverManager = new MockAndControlForArchiverManager( mm );
+
+        macArchiverManager.createArchiver( Archiver.class );
+
+        ComponentsXmlArchiverFileFilter filter = new ComponentsXmlArchiverFileFilter();
+
+        mm.replayAll();
+
+        DefaultAssemblyArchiver subject =
+            createSubject( macArchiverManager.archiverManager, Collections.EMPTY_LIST, null );
+
+        subject.configureArchiverFinalizers( macArchiverManager.archiver, filter );
+
+        mm.verifyAll();
+    }
+
+    public void testConfigureArchiverFinalizers_ShouldAddManifestFinalizerWhenSupportedByArchiver()
+    {
+        MockManager mm = new MockManager();
+
+        MockAndControlForArchiverManager macArchiverManager = new MockAndControlForArchiverManager( mm );
+
+        macArchiverManager.createArchiver( TestFinalizerFilteredArchiver.class );
+        macArchiverManager.expectSetArchiverFinalizers();
+
+        ComponentsXmlArchiverFileFilter filter = new ComponentsXmlArchiverFileFilter();
+
+        mm.replayAll();
+
+        DefaultAssemblyArchiver subject =
+            createSubject( macArchiverManager.archiverManager, Collections.EMPTY_LIST, null );
+
+        subject.configureArchiverFinalizers( macArchiverManager.archiver, filter );
+
+        mm.verifyAll();
+    }
+
+    public void testConfigureArchiverFilters_ShouldDoNothingWhenNotSupportedByArchiver()
+    {
+        MockManager mm = new MockManager();
+
+        MockAndControlForArchiverManager macArchiverManager = new MockAndControlForArchiverManager( mm );
+
+        macArchiverManager.createArchiver( Archiver.class );
+
+        ComponentsXmlArchiverFileFilter filter = new ComponentsXmlArchiverFileFilter();
+
+        mm.replayAll();
+
+        DefaultAssemblyArchiver subject =
+            createSubject( macArchiverManager.archiverManager, Collections.EMPTY_LIST, null );
+
+        subject.configureArchiverFilters( macArchiverManager.archiver, filter );
+
+        mm.verifyAll();
+    }
+
+    public void testConfigureArchiverFilters_ShouldAddComponentsFilterWhenSupportedByArchiver()
+    {
+        MockManager mm = new MockManager();
+
+        MockAndControlForArchiverManager macArchiverManager = new MockAndControlForArchiverManager( mm );
+
+        macArchiverManager.createArchiver( TestFinalizerFilteredArchiver.class );
+        macArchiverManager.expectSetArchiverFilters();
+
+        ComponentsXmlArchiverFileFilter filter = new ComponentsXmlArchiverFileFilter();
+
+        mm.replayAll();
+
+        DefaultAssemblyArchiver subject =
+            createSubject( macArchiverManager.archiverManager, Collections.EMPTY_LIST, null );
+
+        subject.configureArchiverFilters( macArchiverManager.archiver, filter );
+
+        mm.verifyAll();
+    }
+
+    public void testCreateWarArchiver_ShouldDisableIgnoreWebxmlOption()
+        throws NoSuchArchiverException
+    {
+        MockManager mm = new MockManager();
+
+        TestWarArchiver twArchiver = new TestWarArchiver();
+
+        MockAndControlForArchiverManager macArchiverManager = new MockAndControlForArchiverManager( mm );
+
+        macArchiverManager.expectGetArchiver( "war", twArchiver );
+
+        mm.replayAll();
+
+        DefaultAssemblyArchiver subject =
+            createSubject( macArchiverManager.archiverManager, Collections.EMPTY_LIST, null );
+
+        subject.createWarArchiver();
+
+        assertFalse( twArchiver.ignoreWebxml );
+    }
+
+    public void testCreateTarArchiver_ShouldNotInitializeCompression()
+        throws NoSuchArchiverException, ArchiverException
+    {
+        MockManager mm = new MockManager();
+
+        TestTarArchiver ttArchiver = new TestTarArchiver();
+
+        MockAndControlForArchiverManager macArchiverManager = new MockAndControlForArchiverManager( mm );
+
+        macArchiverManager.expectGetArchiver( "tar", ttArchiver );
+
+        mm.replayAll();
+
+        DefaultAssemblyArchiver subject =
+            createSubject( macArchiverManager.archiverManager, Collections.EMPTY_LIST, null );
+
+        subject.createTarArchiver( "tar", TarLongFileMode.FAIL );
+
+        assertNull( ttArchiver.compressionMethod );
+        assertEquals( TarLongFileMode.FAIL, ttArchiver.longFileMode.getValue() );
+
+        mm.verifyAll();
+    }
+
+    public void testCreateTarArchiver_ShouldInitializeGZipCompression()
+        throws NoSuchArchiverException, ArchiverException
+    {
+        MockManager mm = new MockManager();
+
+        TestTarArchiver ttArchiver = new TestTarArchiver();
+
+        MockAndControlForArchiverManager macArchiverManager = new MockAndControlForArchiverManager( mm );
+
+        macArchiverManager.expectGetArchiver( "tar", ttArchiver );
+
+        mm.replayAll();
+
+        DefaultAssemblyArchiver subject =
+            createSubject( macArchiverManager.archiverManager, Collections.EMPTY_LIST, null );
+
+        subject.createTarArchiver( "tar.gz", TarLongFileMode.FAIL );
+
+        assertEquals( "gzip", ttArchiver.compressionMethod.getValue() );
+        assertEquals( TarLongFileMode.FAIL, ttArchiver.longFileMode.getValue() );
+
+        mm.verifyAll();
+    }
+
+    public void testCreateTarArchiver_ShouldInitializeBZipCompression()
+        throws NoSuchArchiverException, ArchiverException
+    {
+        MockManager mm = new MockManager();
+
+        TestTarArchiver ttArchiver = new TestTarArchiver();
+
+        MockAndControlForArchiverManager macArchiverManager = new MockAndControlForArchiverManager( mm );
+
+        macArchiverManager.expectGetArchiver( "tar", ttArchiver );
+
+        mm.replayAll();
+
+        DefaultAssemblyArchiver subject =
+            createSubject( macArchiverManager.archiverManager, Collections.EMPTY_LIST, null );
+
+        subject.createTarArchiver( "tar.bz2", TarLongFileMode.FAIL );
+
+        assertEquals( "bzip2", ttArchiver.compressionMethod.getValue() );
+        assertEquals( TarLongFileMode.FAIL, ttArchiver.longFileMode.getValue() );
+
+        mm.verifyAll();
+    }
+
+    public void testCreateTarArchiver_ShouldFailWithInvalidCompression()
+        throws NoSuchArchiverException, ArchiverException
+    {
+        MockManager mm = new MockManager();
+
+        TestTarArchiver ttArchiver = new TestTarArchiver();
+
+        MockAndControlForArchiverManager macArchiverManager = new MockAndControlForArchiverManager( mm );
+
+        macArchiverManager.expectGetArchiver( "tar", ttArchiver );
+
+        mm.replayAll();
+
+        DefaultAssemblyArchiver subject =
+            createSubject( macArchiverManager.archiverManager, Collections.EMPTY_LIST, null );
+
+        try
+        {
+            subject.createTarArchiver( "tar.Z", null );
+
+            fail( "Invalid compression formats should throw an error." );
+        }
+        catch ( IllegalArgumentException e )
+        {
+            // expected.
+        }
+
+        mm.verifyAll();
+    }
+
+    private DefaultAssemblyArchiver createSubject( ArchiverManager archiverManager, List phases, Logger logger )
+    {
+        DefaultAssemblyArchiver subject = new DefaultAssemblyArchiver( archiverManager, phases );
+
+        if ( logger != null )
+        {
+            subject.enableLogging( logger );
+        }
+
+        return subject;
+    }
+
+    private final class MockAndControlForArchiverManager
+    {
+        ArchiverManager archiverManager;
+
+        MockControl control;
+
+        MockControl archiverControl;
+
+        Archiver archiver;
+
+        private final MockManager mm;
+
+        public MockAndControlForArchiverManager( MockManager mm )
+        {
+            this.mm = mm;
+            control = MockControl.createControl( ArchiverManager.class );
+            mm.add( control );
+
+            archiverManager = ( ArchiverManager ) control.getMock();
+        }
+
+        void createArchiver( Class archiverClass )
+        {
+            archiverControl = MockControl.createControl( archiverClass );
+            mm.add( archiverControl );
+
+            archiver = ( Archiver ) archiverControl.getMock();
+        }
+
+        void expectSetArchiverFinalizers()
+        {
+            ( ( FinalizerEnabled ) archiver ).setArchiveFinalizers( null );
+            archiverControl.setMatcher( MockControl.ALWAYS_MATCHER );
+        }
+
+        void expectSetArchiverFilters()
+        {
+            ( ( FilterEnabled ) archiver ).setArchiveFilters( null );
+            archiverControl.setMatcher( MockControl.ALWAYS_MATCHER );
+        }
+
+        void expectGetArchiver( String format, Class archiverClass )
+        {
+            createArchiver( archiverClass );
+            
+            try
+            {
+                archiverManager.getArchiver( format );
+            }
+            catch ( NoSuchArchiverException e )
+            {
+                Assert.fail( "should never happen" );
+            }
+            
+            control.setReturnValue( archiver );
+        }
+
+        void expectGetArchiver( String format, Archiver archiver )
+            throws NoSuchArchiverException
+        {
+            archiverManager.getArchiver( format );
+            control.setReturnValue( archiver );
+        }
+    }
+
+    private static final class TestTarArchiver
+        extends TarArchiver
+    {
+
+        boolean archiveCreated;
+
+        boolean optionsRetrieved;
+
+        TarCompressionMethod compressionMethod;
+
+        int defaultDirMode;
+
+        int defaultFileMode;
+
+        TarLongFileMode longFileMode;
+
+        TarOptions options;
+
+        public void createArchive()
+            throws ArchiverException, IOException
+        {
+            archiveCreated = true;
+            super.createArchive();
+        }
+
+        public TarOptions getOptions()
+        {
+            optionsRetrieved = true;
+            return super.getOptions();
+        }
+
+        public void setCompression( TarCompressionMethod mode )
+        {
+            compressionMethod = mode;
+            super.setCompression( mode );
+        }
+
+        public void setDefaultDirectoryMode( int mode )
+        {
+            defaultDirMode = mode;
+            super.setDefaultDirectoryMode( mode );
+        }
+
+        public void setDefaultFileMode( int mode )
+        {
+            defaultFileMode = mode;
+            super.setDefaultFileMode( mode );
+        }
+
+        public void setLongfile( TarLongFileMode mode )
+        {
+            longFileMode = mode;
+            super.setLongfile( mode );
+        }
+
+        public void setOptions( TarOptions options )
+        {
+            this.options = options;
+            super.setOptions( options );
+        }
+
+    }
+
+    private static final class TestWarArchiver
+        extends WarArchiver
+    {
+
+        boolean ignoreWebxml;
+
+        public void setIgnoreWebxml( boolean ignore )
+        {
+            ignoreWebxml = ignore;
+            super.setIgnoreWebxml( ignore );
+        }
+
+    }
+
+    interface TestFinalizerFilteredArchiver
+        extends Archiver, FilterEnabled, FinalizerEnabled
+    {
+
+    }
+
+}

Propchange: maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiverTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiverTest.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/ManifestCreationFinalizerTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/ManifestCreationFinalizerTest.java?rev=428190&view=auto
==============================================================================
--- maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/ManifestCreationFinalizerTest.java (added)
+++ maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/ManifestCreationFinalizerTest.java Wed Aug  2 16:32:41 2006
@@ -0,0 +1,105 @@
+package org.apache.maven.plugin.assembly.archive;
+
+import org.apache.maven.archiver.MavenArchiveConfiguration;
+import org.apache.maven.model.Model;
+import org.apache.maven.plugin.assembly.testutils.MockManager;
+import org.apache.maven.plugin.assembly.testutils.TestFileManager;
+import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.archiver.Archiver;
+import org.codehaus.plexus.archiver.ArchiverException;
+import org.codehaus.plexus.archiver.jar.JarArchiver;
+import org.codehaus.plexus.util.IOUtil;
+import org.easymock.MockControl;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.StringWriter;
+import java.net.URL;
+
+import junit.framework.TestCase;
+
+public class ManifestCreationFinalizerTest
+    extends TestCase
+{
+
+    private TestFileManager fileManager = new TestFileManager( "manifest-finalizer.test.", ".jar" );
+    
+    public void tearDown() throws IOException
+    {
+        fileManager.cleanUp();
+    }
+
+    public void testShouldDoNothingWhenArchiveConfigIsNull()
+        throws ArchiverException
+    {
+        new ManifestCreationFinalizer( null, null ).finalizeArchiveCreation( null );
+    }
+
+    public void testShouldDoNothingWhenArchiverIsNotJarArchiver()
+        throws ArchiverException
+    {
+        MockManager mm = new MockManager();
+
+        MockAndControlForArchiver macArchiver = new MockAndControlForArchiver( mm );
+
+        MavenProject project = new MavenProject( new Model() );
+        MavenArchiveConfiguration config = new MavenArchiveConfiguration();
+
+        mm.replayAll();
+
+        new ManifestCreationFinalizer( project, config ).finalizeArchiveCreation( macArchiver.archiver );
+
+        mm.verifyAll();
+    }
+
+    public void testShouldAddManifestWhenArchiverIsJarArchiver()
+        throws ArchiverException, IOException
+    {
+        MavenProject project = new MavenProject( new Model() );
+        MavenArchiveConfiguration config = new MavenArchiveConfiguration();
+        
+        File tempDir = fileManager.createTempDir();
+        
+        File manifestFile = fileManager.createFile( tempDir, "MANIFEST.MF", "Main-Class: Stuff" );
+        
+        config.setManifestFile( manifestFile );
+        
+        Archiver archiver = new JarArchiver();
+
+        File file = fileManager.createTempFile();
+        
+        archiver.setDestFile( file );
+        
+        new ManifestCreationFinalizer( project, config ).finalizeArchiveCreation( archiver );
+        
+        archiver.createArchive();
+        
+        URL resource = new URL( "jar:file:" + file.getAbsolutePath() + "!/META-INF/MANIFEST.MF" );
+        
+        BufferedReader reader = new BufferedReader( new InputStreamReader( resource.openStream() ) );
+        
+        StringWriter writer = new StringWriter();
+        
+        IOUtil.copy( reader, writer );
+        
+        assertTrue( writer.toString().indexOf( "Main-Class: Stuff" ) > -1 );
+    }
+
+    private final class MockAndControlForArchiver
+    {
+        Archiver archiver;
+
+        MockControl control;
+
+        MockAndControlForArchiver( MockManager mm )
+        {
+            control = MockControl.createControl( Archiver.class );
+            mm.add( control );
+
+            archiver = ( Archiver ) control.getMock();
+        }
+    }
+
+}

Propchange: maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/ManifestCreationFinalizerTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/ManifestCreationFinalizerTest.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Modified: maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhaseTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhaseTest.java?rev=428190&r1=428189&r2=428190&view=diff
==============================================================================
--- maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhaseTest.java (original)
+++ maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhaseTest.java Wed Aug  2 16:32:41 2006
@@ -347,6 +347,13 @@
             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 )

Modified: maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java?rev=428190&r1=428189&r2=428190&view=diff
==============================================================================
--- maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java (original)
+++ maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java Wed Aug  2 16:32:41 2006
@@ -2,6 +2,7 @@
 
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.ArtifactUtils;
+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.archive.ArchiveCreationException;
@@ -10,11 +11,16 @@
 import org.apache.maven.plugin.assembly.format.AssemblyFormattingException;
 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.ModuleBinaries;
 import org.apache.maven.plugins.assembly.model.ModuleSet;
 import org.apache.maven.plugins.assembly.model.ModuleSources;
 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.ArgumentsMatcher;
 import org.easymock.MockControl;
 
 import java.io.File;
@@ -42,49 +48,247 @@
         fileManager.cleanUp();
     }
 
+    public void testExecute_ShouldSkipIfNoModuleSetsFound()
+        throws ArchiveCreationException, AssemblyFormattingException
+    {
+        Assembly assembly = new Assembly();
+        assembly.setIncludeBaseDirectory( false );
+
+        createPhase( null, null ).execute( assembly, null, null );
+    }
+
+    public void testExecute_ShouldAddOneModuleSetWithOneModuleInIt()
+        throws ArchiveCreationException, AssemblyFormattingException, IOException
+    {
+        MockManager mm = new MockManager();
+        
+        MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mm );
+        
+        MavenProject project = createProject( "group", "artifact", "version", null );
+        MavenProject module = createProject( "group", "module", "version", project );
+        
+        macTask.expectArtifactGetFile();
+        module.setArtifact( macTask.artifact );
+        
+        List projects = new ArrayList();
+        
+        projects.add( project );
+        projects.add( module );
+        
+        macTask.expectGetProject( project );
+        macTask.expectGetReactorProjects( projects );
+        macTask.expectGetFinalName( "final-name" );
+        macTask.expectGetClassifier( null );
+        macTask.expectGetArtifactHandler();
+        macTask.expectArtifactGetDependencyConflictId( "group:module:jar" );
+
+        int mode = Integer.parseInt( "777", 8 );
+        
+        macTask.expectAddFile( "out/artifact", mode );
+        
+        Assembly assembly = new Assembly();
+        assembly.setIncludeBaseDirectory( false );
+        
+        ModuleSet ms = new ModuleSet();
+        
+        ModuleBinaries bin = new ModuleBinaries();
+        
+        bin.setOutputFileNameMapping( "artifact" );
+        bin.setOutputDirectory( "out" );
+        bin.setFileMode( "777" );
+        bin.setUnpack( false );
+        bin.setIncludeDependencies( false );
+        
+        ms.setBinaries( bin );
+        
+        assembly.addModuleSet( ms );
+        
+        Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
+        
+        mm.replayAll();
+
+        createPhase( logger, null ).execute( assembly, macTask.archiver, macTask.configSource );
+        
+        mm.verifyAll();
+    }
+
     public void testAddModuleBinaries_ShouldReturnImmediatelyWhenBinariesIsNull()
         throws ArchiveCreationException, AssemblyFormattingException
     {
-        createPhase( null ).addModuleBinaries( null, null, null, null, false );
+        createPhase( null, null ).addModuleBinaries( null, null, null, null, false );
     }
 
     public void testAddModuleBinaries_ShouldAddOneModuleArtifactAndNoDeps()
         throws ArchiveCreationException, AssemblyFormattingException, IOException
     {
         MockManager mm = new MockManager();
-        
+
         MockAndControlForLogger macLogger = new MockAndControlForLogger( mm );
         MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mm );
-        
+
         macTask.expectArtifactGetFile( true );
         macTask.expectGetFinalName( "final-name" );
         macTask.expectGetClassifier( null );
         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" );
         binaries.setOutputFileNameMapping( "artifact" );
-        
+
         MavenProject project = createProject( "group", "artifact", "version", null );
         project.setArtifact( macTask.artifact );
-        
+
         Set projects = Collections.singleton( project );
-        
+
         mm.replayAll();
-        
-        createPhase( macLogger.logger ).addModuleBinaries( binaries, projects, macTask.archiver, macTask.configSource, false );
-        
+
+        createPhase( macLogger.logger, null ).addModuleBinaries( binaries, projects, macTask.archiver,
+                                                                 macTask.configSource, false );
+
+        mm.verifyAll();
+    }
+
+    public void testAddModuleBinaries_ShouldAddOneModuleArtifactAndWithOneDepArtifact()
+        throws ArchiveCreationException, AssemblyFormattingException, IOException
+    {
+        MockManager mm = new MockManager();
+
+        // MockAndControlForLogger macLogger = new MockAndControlForLogger( mm );
+        //        
+        // macLogger.expectWarn();
+        // macLogger.expectDebug( true, true );
+
+        MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mm );
+
+        macTask.expectArtifactGetFile( true );
+        macTask.expectGetFinalName( "final-name" );
+        macTask.expectGetClassifier( null );
+        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" );
+
+        MavenProject project = createProject( "group", "artifact", "version", null );
+        project.setArtifact( macTask.artifact );
+
+        MockAndControlForArtifact macDepArtifact = new MockAndControlForArtifact( mm );
+
+        macDepArtifact.expectGetClassifier();
+        macDepArtifact.expectGetArtifactHandler();
+        macDepArtifact.expectGetDependencyConflictId( "group", "dep", "jar" );
+        macDepArtifact.expectGetFile();
+
+        macTask.expectAddFile( macDepArtifact.artifactFile, "out/artifact", 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" );
+
+        createPhase( overrideLogger, macPB.projectBuilder ).addModuleBinaries( binaries, projects, macTask.archiver,
+                                                                               macTask.configSource, false );
+
         mm.verifyAll();
     }
 
+    private final class MockAndControlForProjectBuilder
+    {
+        MavenProjectBuilder projectBuilder;
+
+        MockControl control;
+
+        public MockAndControlForProjectBuilder( MockManager mm )
+        {
+            control = MockControl.createControl( MavenProjectBuilder.class );
+            mm.add( control );
+
+            projectBuilder = ( MavenProjectBuilder ) control.getMock();
+        }
+
+        void expectBuildFromRepository( Artifact artifact, MavenProject result )
+        {
+            try
+            {
+                projectBuilder.buildFromRepository( artifact, null, null );
+            }
+            catch ( ProjectBuildingException e )
+            {
+                Assert.fail( "should never happen" );
+            }
+
+            control.setMatcher( FIRST_PARAM_MATCHER );
+            control.setReturnValue( result, MockControl.ONE_OR_MORE );
+        }
+    }
+
+    private static final ArgumentsMatcher FIRST_PARAM_MATCHER = new ArgumentsMatcher()
+    {
+
+        public boolean matches( Object[] test, Object[] args )
+        {
+            if ( test.length < 1 && args.length < 1 )
+            {
+                return true;
+            }
+
+            if ( test[0] == null && args[0] == null )
+            {
+                return true;
+            }
+
+            if ( test[0].equals( args[0] ) )
+            {
+                return true;
+            }
+
+            return false;
+        }
+
+        public String toString( Object[] args )
+        {
+            return "with first argument "
+                            + ( args.length > 0 ? " of \'" + String.valueOf( args[0] ) + "\'" : "missing" );
+        }
+
+    };
+
     public void testCollectExcludesFromQueuedArtifacts_ShouldAddOneExclusion()
     {
         MockManager mm = new MockManager();
@@ -100,7 +304,7 @@
 
         Set artifactIds = Collections.singleton( "group:artifact:jar" );
 
-        List result = createPhase( macLogger.logger ).collectExcludesFromQueuedArtifacts( artifactIds, excludes );
+        List result = createPhase( macLogger.logger, null ).collectExcludesFromQueuedArtifacts( artifactIds, excludes );
 
         assertEquals( 1, result.size() );
 
@@ -119,7 +323,7 @@
 
         Set artifactIds = Collections.singleton( "group:artifact:jar" );
 
-        List result = createPhase( macLogger.logger ).collectExcludesFromQueuedArtifacts( artifactIds, null );
+        List result = createPhase( macLogger.logger, null ).collectExcludesFromQueuedArtifacts( artifactIds, null );
 
         assertEquals( 1, result.size() );
 
@@ -145,7 +349,7 @@
 
         try
         {
-            createPhase( macLogger.logger ).addArtifact( macTask.artifact, null, null, null, null, false );
+            createPhase( macLogger.logger, null ).addArtifact( macTask.artifact, null, null, null, null, false );
 
             fail( "Expected ArchiveCreationException since artifact file is null." );
         }
@@ -183,8 +387,8 @@
 
         mm.replayAll();
 
-        createPhase( macLogger.logger ).addArtifact( macTask.artifact, project, macTask.archiver, macTask.configSource,
-                                                     binaries, false );
+        createPhase( macLogger.logger, null ).addArtifact( macTask.artifact, project, macTask.archiver,
+                                                           macTask.configSource, binaries, false );
 
         mm.verifyAll();
     }
@@ -198,7 +402,7 @@
 
         mm.replayAll();
 
-        createPhase( macLogger.logger ).addModuleSourceFileSets( null, null, null, null, false );
+        createPhase( macLogger.logger, null ).addModuleSourceFileSets( null, null, null, null, false );
 
         mm.verifyAll();
     }
@@ -232,8 +436,8 @@
 
         mm.replayAll();
 
-        createPhase( macLogger.logger ).addModuleSourceFileSets( sources, projects, macTask.archiver,
-                                                                 macTask.configSource, false );
+        createPhase( macLogger.logger, null ).addModuleSourceFileSets( sources, projects, macTask.archiver,
+                                                                       macTask.configSource, false );
 
         mm.verifyAll();
     }
@@ -257,7 +461,7 @@
 
         mm.replayAll();
 
-        Set moduleProjects = createPhase( macLogger.logger ).getModuleProjects( moduleSet, macCS.configSource );
+        Set moduleProjects = createPhase( macLogger.logger, null ).getModuleProjects( moduleSet, macCS.configSource );
 
         assertTrue( moduleProjects.isEmpty() );
 
@@ -286,7 +490,7 @@
 
         mm.replayAll();
 
-        Set moduleProjects = createPhase( macLogger.logger ).getModuleProjects( moduleSet, macCS.configSource );
+        Set moduleProjects = createPhase( macLogger.logger, null ).getModuleProjects( moduleSet, macCS.configSource );
 
         assertTrue( moduleProjects.isEmpty() );
 
@@ -315,7 +519,7 @@
 
         mm.replayAll();
 
-        Set moduleProjects = createPhase( macLogger.logger ).getModuleProjects( moduleSet, macCS.configSource );
+        Set moduleProjects = createPhase( macLogger.logger, null ).getModuleProjects( moduleSet, macCS.configSource );
 
         assertFalse( moduleProjects.isEmpty() );
 
@@ -350,7 +554,7 @@
 
         mm.replayAll();
 
-        Set moduleProjects = createPhase( macLogger.logger ).getModuleProjects( moduleSet, macCS.configSource );
+        Set moduleProjects = createPhase( macLogger.logger, null ).getModuleProjects( moduleSet, macCS.configSource );
 
         assertEquals( 2, moduleProjects.size() );
 
@@ -371,14 +575,20 @@
         MockAndControlForLogger macLogger = new MockAndControlForLogger( mm );
         MockAndControlForConfigSource macCS = new MockAndControlForConfigSource( mm );
 
+        List macArtifacts = new ArrayList();
+
         MavenProject project = createProject( "group", "artifact", "version", null );
-        addArtifact( project, mm, false, false );
+        macArtifacts.add( addArtifact( project, mm, false, false ) );
 
         MavenProject project2 = createProject( "group", "artifact2", "version", project );
-        addArtifact( project2, mm, true, false );
+        macArtifacts.add( addArtifact( project2, mm, true, false ) );
+
+        ( ( MockAndControlForArtifact ) macArtifacts.get( 1 ) ).expectGetId( "group:artifact2:jar:version" );
 
         MavenProject project3 = createProject( "group", "artifact3", "version", project2 );
-        addArtifact( project3, mm, true, true );
+        macArtifacts.add( addArtifact( project3, mm, true, true ) );
+
+        ( ( MockAndControlForArtifact ) macArtifacts.get( 2 ) ).expectGetId( "group:artifact3:jar:version" );
 
         List projects = new ArrayList();
         projects.add( project );
@@ -394,15 +604,15 @@
 
         mm.replayAll();
 
-        Set moduleProjects = createPhase( macLogger.logger ).getModuleProjects( moduleSet, macCS.configSource );
+        Set moduleProjects = createPhase( macLogger.logger, null ).getModuleProjects( moduleSet, macCS.configSource );
 
         assertTrue( moduleProjects.isEmpty() );
 
         mm.verifyAll();
     }
 
-    private void addArtifact( MavenProject project, MockManager mm, boolean expectIdentityChecks,
-                              boolean expectDepTrailCheck )
+    private MockAndControlForArtifact addArtifact( MavenProject project, MockManager mm, boolean expectIdentityChecks,
+                                                   boolean expectDepTrailCheck )
     {
         MockAndControlForArtifact macArtifact = new MockAndControlForArtifact( mm );
 
@@ -430,6 +640,8 @@
         }
 
         project.setArtifact( macArtifact.artifact );
+
+        return macArtifact;
     }
 
     private void verifyResultIs( List check, Set moduleProjects )
@@ -505,9 +717,9 @@
         return project;
     }
 
-    private ModuleSetAssemblyPhase createPhase( Logger logger )
+    private ModuleSetAssemblyPhase createPhase( Logger logger, MavenProjectBuilder projectBuilder )
     {
-        ModuleSetAssemblyPhase phase = new ModuleSetAssemblyPhase();
+        ModuleSetAssemblyPhase phase = new ModuleSetAssemblyPhase( projectBuilder );
 
         phase.enableLogging( logger );
 
@@ -520,21 +732,63 @@
 
         MockControl control;
 
-        public MockAndControlForArtifact( MockManager mm )
+        File artifactFile;
+
+        ArtifactHandler handler;
+
+        MockControl handlerControl;
+
+        private final MockManager mm;
+
+        MockAndControlForArtifact( MockManager mm )
         {
+            this.mm = mm;
             control = MockControl.createControl( Artifact.class );
             mm.add( control );
 
             artifact = ( Artifact ) control.getMock();
         }
 
-        public void expectGetDependencyTrail( LinkedList depTrail )
+        void expectGetClassifier()
+        {
+            artifact.getClassifier();
+            control.setReturnValue( null, MockControl.ONE_OR_MORE );
+        }
+
+        void expectGetArtifactHandler()
+        {
+            handlerControl = MockControl.createControl( ArtifactHandler.class );
+            mm.add( handlerControl );
+
+            handler = ( ArtifactHandler ) handlerControl.getMock();
+
+            artifact.getArtifactHandler();
+            control.setReturnValue( handler, MockControl.ONE_OR_MORE );
+        }
+
+        void expectGetFile()
+            throws IOException
+        {
+            this.artifactFile = fileManager.createTempFile();
+
+            artifact.getFile();
+
+            control.setReturnValue( artifactFile, MockControl.ONE_OR_MORE );
+        }
+
+        void expectGetId( String id )
+        {
+            artifact.getId();
+            control.setReturnValue( id, MockControl.ONE_OR_MORE );
+        }
+
+        void expectGetDependencyTrail( List depTrail )
         {
             artifact.getDependencyTrail();
-            control.setReturnValue( depTrail, MockControl.ONE_OR_MORE );
+            control.setReturnValue( new LinkedList( depTrail ), MockControl.ONE_OR_MORE );
         }
 
-        public void expectGetDependencyConflictId( String groupId, String artifactId, String packaging )
+        void expectGetDependencyConflictId( String groupId, String artifactId, String packaging )
         {
             artifact.getDependencyConflictId();
             control.setReturnValue( groupId + ":" + artifactId + ":" + packaging, MockControl.ONE_OR_MORE );
@@ -565,6 +819,13 @@
             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 )

Modified: maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddArtifactTask.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddArtifactTask.java?rev=428190&r1=428189&r2=428190&view=diff
==============================================================================
--- maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddArtifactTask.java (original)
+++ maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddArtifactTask.java Wed Aug  2 16:32:41 2006
@@ -4,12 +4,14 @@
 import org.apache.maven.artifact.handler.ArtifactHandler;
 import org.apache.maven.plugin.assembly.AssemblerConfigurationSource;
 import org.apache.maven.plugin.assembly.testutils.MockManager;
+import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.archiver.Archiver;
 import org.codehaus.plexus.archiver.ArchiverException;
 import org.easymock.MockControl;
 
 import java.io.File;
 import java.io.IOException;
+import java.util.List;
 
 import junit.framework.Assert;
 
@@ -161,10 +163,41 @@
         }
     }
     
+    public void expectAddFile( File file, String outputLocation, int fileMode )
+    {
+        try
+        {
+            archiver.addFile( file, outputLocation, fileMode );
+            archiverCtl.setVoidCallable( MockControl.ONE_OR_MORE );
+        }
+        catch ( ArchiverException e )
+        {
+            Assert.fail( "Should never happen." );
+        }
+    }
+    
     public void expectArtifactGetScope( String scope )
     {
         artifact.getScope();
         artifactCtl.setReturnValue( scope, MockControl.ONE_OR_MORE );
+    }
+
+    public void expectGetProject( MavenProject project )
+    {
+        configSource.getProject();
+        configSourceCtl.setReturnValue( project, MockControl.ONE_OR_MORE );
+    }
+
+    public void expectGetReactorProjects( List projects )
+    {
+        configSource.getReactorProjects();
+        configSourceCtl.setReturnValue( projects, MockControl.ONE_OR_MORE );
+    }
+
+    public void expectArtifactGetDependencyConflictId( String dependencyConflictId )
+    {
+        artifact.getDependencyConflictId();
+        artifactCtl.setReturnValue( dependencyConflictId, MockControl.ONE_OR_MORE );
     }
 
 }

Modified: maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/filter/AssemblyArtifactFilterTCK.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/filter/AssemblyArtifactFilterTCK.java?rev=428190&r1=428189&r2=428190&view=diff
==============================================================================
--- maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/filter/AssemblyArtifactFilterTCK.java (original)
+++ maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/filter/AssemblyArtifactFilterTCK.java Wed Aug  2 16:32:41 2006
@@ -204,11 +204,18 @@
             
             enableGetDependencyConflictId();
             enableGetGroupIdAndArtifactId();
+            enableGetId();
             
             if ( dependencyTrail != null )
             {
                 enableGetDependencyTrail();
             }
+        }
+        
+        void enableGetId()
+        {
+            artifact.getId();
+            control.setReturnValue( groupId + ":" + artifactId + ":type:version", MockControl.ZERO_OR_MORE );
         }
         
         void enableGetDependencyTrail()

Modified: maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/filter/AssemblyScopeArtifactFilterTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/filter/AssemblyScopeArtifactFilterTest.java?rev=428190&r1=428189&r2=428190&view=diff
==============================================================================
--- maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/filter/AssemblyScopeArtifactFilterTest.java (original)
+++ maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/filter/AssemblyScopeArtifactFilterTest.java Wed Aug  2 16:32:41 2006
@@ -139,12 +139,19 @@
             artifact = (Artifact) control.getMock();
             
             enableGetScope();
+            enableGetId();
         }
         
         void enableGetScope()
         {
             artifact.getScope();
             control.setReturnValue( scope, MockControl.ONE_OR_MORE );
+        }
+        
+        void enableGetId()
+        {
+            artifact.getId();
+            control.setReturnValue( "group:artifact:type:version", MockControl.ZERO_OR_MORE );
         }
     }
 

Modified: maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/utils/FilterUtilsTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/utils/FilterUtilsTest.java?rev=428190&r1=428189&r2=428190&view=diff
==============================================================================
--- maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/utils/FilterUtilsTest.java (original)
+++ maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/utils/FilterUtilsTest.java Wed Aug  2 16:32:41 2006
@@ -39,6 +39,13 @@
         mockManager.add( loggerCtl );
         
         logger = (Logger) loggerCtl.getMock();
+        
+        logger.isDebugEnabled();
+        loggerCtl.setReturnValue( true, MockControl.ZERO_OR_MORE );
+        
+        logger.debug( null );
+        loggerCtl.setMatcher( MockControl.ALWAYS_MATCHER );
+        loggerCtl.setVoidCallable( MockControl.ZERO_OR_MORE );
     }
 
     public void testFilterArtifacts_ShouldNotRemoveArtifactDirectlyIncluded()
@@ -54,18 +61,15 @@
 
     public void testFilterArtifacts_ShouldRemoveArtifactTransitivelyExcluded()
     {
-        enableLoggerDebugging();
         verifyArtifactExclusion( "group", "artifact", null, "group:dependentArtifact", Collections.singletonList( "group:dependentArtifact" ), null );
     }
 
     public void testFilterArtifacts_ShouldRemoveArtifactDirectlyExcluded()
     {
-        enableLoggerDebugging();
         verifyArtifactExclusion( "group", "artifact", null, "group:artifact", null, null );
         
         clearAll();
         
-        enableLoggerDebugging();
         verifyArtifactExclusion( "group", "artifact", null, "group:artifact:jar", null, null );
     }
 
@@ -87,8 +91,6 @@
             
         };
         
-        enableLoggerDebugging();
-        
         logger.isWarnEnabled();
         loggerCtl.setReturnValue( true );
         
@@ -98,17 +100,6 @@
         verifyArtifactExclusion( "group", "artifact", "fail:fail", null, null, filter );
     }
     
-    private void enableLoggerDebugging()
-    {
-        logger.isDebugEnabled();
-        loggerCtl.setReturnValue( true, MockControl.ONE_OR_MORE );
-        
-        logger.debug( null );
-        loggerCtl.setMatcher( MockControl.ALWAYS_MATCHER );
-        loggerCtl.setVoidCallable( MockControl.ONE_OR_MORE );
-    }
-
-
     public void testFilterProjects_ShouldNotRemoveProjectDirectlyIncluded()
     {
         verifyProjectInclusion( "group", "artifact", "group:artifact", null, null );