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 2008/12/10 20:29:42 UTC
svn commit: r725394 - in /maven/plugins/trunk/maven-assembly-plugin: ./
src/it/projects/bugs/massembly-285/
src/it/projects/bugs/massembly-285/massembly-285-assembly/
src/it/projects/bugs/massembly-285/massembly-285-assembly/src/main/assembly/
src/main...
Author: jdcasey
Date: Wed Dec 10 11:29:42 2008
New Revision: 725394
URL: http://svn.apache.org/viewvc?rev=725394&view=rev
Log:
[MASSEMBLY-75][MASSEMBLY-285][MASSEMBLY-238] fixing and adding integration tests. The only potentially outstanding issue of these might be MASSEMBLY-75, which will have a test added to plexus-archiver to check it.
Modified:
maven/plugins/trunk/maven-assembly-plugin/ (props changed)
maven/plugins/trunk/maven-assembly-plugin/pom.xml
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/bugs/massembly-285/massembly-285-assembly/pom.xml
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/bugs/massembly-285/massembly-285-assembly/src/main/assembly/bin.xml
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/bugs/massembly-285/pom.xml
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/bugs/massembly-285/verify.bsh
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDirectoryTask.java
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/archiver/AssemblyProxyArchiverTest.java
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/RepositoryAssemblyPhaseTest.java
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/AddDirectoryTaskTest.java
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddFileSetsTask.java
Propchange: maven/plugins/trunk/maven-assembly-plugin/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Wed Dec 10 11:29:42 2008
@@ -1,3 +1,4 @@
+MAVEN_ENV
target
cobertura.ser
*~
Modified: maven/plugins/trunk/maven-assembly-plugin/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/pom.xml?rev=725394&r1=725393&r2=725394&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/pom.xml (original)
+++ maven/plugins/trunk/maven-assembly-plugin/pom.xml Wed Dec 10 11:29:42 2008
@@ -60,9 +60,9 @@
<version>1.1-SNAPSHOT</version>
</dependency>
<dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-interpolation</artifactId>
- <version>1.6</version>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-interpolation</artifactId>
+ <version>1.7</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
Modified: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/bugs/massembly-285/massembly-285-assembly/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/bugs/massembly-285/massembly-285-assembly/pom.xml?rev=725394&r1=725393&r2=725394&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/bugs/massembly-285/massembly-285-assembly/pom.xml (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/bugs/massembly-285/massembly-285-assembly/pom.xml Wed Dec 10 11:29:42 2008
@@ -28,9 +28,6 @@
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
- <archiverConfig>
- <duplicateBehavior>skip</duplicateBehavior>
- </archiverConfig>
<descriptors>
<descriptor>src/main/assembly/bin.xml</descriptor>
</descriptors>
Modified: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/bugs/massembly-285/massembly-285-assembly/src/main/assembly/bin.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/bugs/massembly-285/massembly-285-assembly/src/main/assembly/bin.xml?rev=725394&r1=725393&r2=725394&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/bugs/massembly-285/massembly-285-assembly/src/main/assembly/bin.xml (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/bugs/massembly-285/massembly-285-assembly/src/main/assembly/bin.xml Wed Dec 10 11:29:42 2008
@@ -2,6 +2,7 @@
<id>bin</id>
<formats>
<format>jar</format>
+ <format>zip</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<dependencySets>
Modified: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/bugs/massembly-285/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/bugs/massembly-285/pom.xml?rev=725394&r1=725393&r2=725394&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/bugs/massembly-285/pom.xml (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/bugs/massembly-285/pom.xml Wed Dec 10 11:29:42 2008
@@ -15,4 +15,19 @@
<module>massembly-285-mod2</module>
<module>massembly-285-assembly</module>
</modules>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <configuration>
+ <archiverConfig>
+ <duplicateBehavior>skip</duplicateBehavior>
+ </archiverConfig>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
</project>
\ No newline at end of file
Modified: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/bugs/massembly-285/verify.bsh
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/bugs/massembly-285/verify.bsh?rev=725394&r1=725393&r2=725394&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/bugs/massembly-285/verify.bsh (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/bugs/massembly-285/verify.bsh Wed Dec 10 11:29:42 2008
@@ -1,26 +1,48 @@
import java.io.*;
import java.util.*;
import java.util.jar.*;
+import java.util.zip.*;
File f = new File( basedir, "massembly-285-assembly/target/massembly-285-assembly-1-bin.jar" );
JarFile jf = new JarFile( f );
String testPath = "tests/App.class";
-int count = 0;
+int jarCount = 0;
Enumeration e = jf.entries();
while( e.hasMoreElements() )
{
if ( testPath.equals( String.valueOf( e.nextElement() ) ) )
{
- count++;
+ jarCount++;
}
}
-if ( count != 1 )
+if ( jarCount != 1 )
{
- System.out.println( "ERROR! Test path: " + testPath + " was found " + count + " times (should have been 1)." );
+ System.out.println( "ERROR! Test path: " + testPath + " was found " + jarCount + " times (should have been 1).\nArchive: " + f );
}
-return count == 1;
\ No newline at end of file
+f = new File( basedir, "massembly-285-assembly/target/massembly-285-assembly-1-bin.zip" );
+ZipFile zf = new ZipFile( f );
+
+String testPath = "tests/App.class";
+
+int zipCount = 0;
+
+e = zf.entries();
+while( e.hasMoreElements() )
+{
+ if ( testPath.equals( String.valueOf( e.nextElement() ) ) )
+ {
+ zipCount++;
+ }
+}
+
+if ( zipCount != 1 )
+{
+ System.out.println( "ERROR! Test path: " + testPath + " was found " + zipCount + " times (should have been 1).\nArchive: " + f );
+}
+
+return jarCount == 1;
\ No newline at end of file
Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDirectoryTask.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDirectoryTask.java?rev=725394&r1=725393&r2=725394&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDirectoryTask.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDirectoryTask.java Wed Dec 10 11:29:42 2008
@@ -27,7 +27,7 @@
import org.apache.maven.plugin.assembly.archive.ArchiveCreationException;
import org.codehaus.plexus.archiver.Archiver;
import org.codehaus.plexus.archiver.ArchiverException;
-import org.codehaus.plexus.util.FileUtils;
+import org.codehaus.plexus.archiver.util.DefaultFileSet;
/**
* @version $Id$
@@ -67,7 +67,7 @@
throw new ArchiveCreationException( "Cannot add source directory: " + directory + " to archive-path: "
+ outputDirectory + ". All paths must be within the archive root directory." );
}
-
+
int oldDirMode = archiver.getDefaultDirectoryMode();
int oldFileMode = archiver.getDefaultFileMode();
@@ -95,11 +95,6 @@
directoryExcludes = new ArrayList();
}
- if ( useDefaultExcludes )
- {
- directoryExcludes.addAll( FileUtils.getDefaultExcludesAsList() );
- }
-
try
{
String[] includesArray = null;
@@ -111,7 +106,14 @@
// this one is guaranteed to be non-null by code above.
String[] excludesArray = (String[]) directoryExcludes.toArray( new String[0] );
- archiver.addDirectory( directory, outputDirectory, includesArray, excludesArray );
+ DefaultFileSet fs = new DefaultFileSet();
+ fs.setUsingDefaultExcludes( useDefaultExcludes );
+ fs.setPrefix( outputDirectory );
+ fs.setDirectory( directory );
+ fs.setIncludes( includesArray );
+ fs.setExcludes( excludesArray );
+
+ archiver.addFileSet( fs );
}
catch ( ArchiverException e )
{
Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/archiver/AssemblyProxyArchiverTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/archiver/AssemblyProxyArchiverTest.java?rev=725394&r1=725393&r2=725394&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/archiver/AssemblyProxyArchiverTest.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/archiver/AssemblyProxyArchiverTest.java Wed Dec 10 11:29:42 2008
@@ -83,7 +83,7 @@
File output = fileManager.createTempFile();
delegate.setDestFile( output );
- CounterSelector counter = new CounterSelector( false );
+ CounterSelector counter = new CounterSelector( true );
List selectors = Collections.singletonList( counter );
AssemblyProxyArchiver archiver = new AssemblyProxyArchiver( "", delegate, Collections.EMPTY_LIST, selectors,
@@ -93,6 +93,8 @@
fileManager.createFile( dir, "file.txt", "This is a test." );
archiver.addDirectory( dir );
+
+ archiver.createArchive();
assertEquals( 1, counter.getCount() );
}
Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/RepositoryAssemblyPhaseTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/RepositoryAssemblyPhaseTest.java?rev=725394&r1=725393&r2=725394&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/RepositoryAssemblyPhaseTest.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/RepositoryAssemblyPhaseTest.java Wed Dec 10 11:29:42 2008
@@ -19,6 +19,16 @@
* under the License.
*/
+import java.io.File;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.Set;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
@@ -42,20 +52,14 @@
import org.apache.maven.shared.repository.RepositoryAssemblyException;
import org.codehaus.plexus.archiver.Archiver;
import org.codehaus.plexus.archiver.ArchiverException;
+import org.codehaus.plexus.archiver.FileSet;
+import org.codehaus.plexus.archiver.util.DefaultFileSet;
import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.logging.console.ConsoleLogger;
-import org.codehaus.plexus.util.FileUtils;
+import org.codehaus.plexus.util.StringUtils;
+import org.easymock.AbstractMatcher;
import org.easymock.MockControl;
-import java.io.File;
-import java.io.IOException;
-import java.util.Collections;
-import java.util.List;
-import java.util.Set;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
public class RepositoryAssemblyPhaseTest
extends TestCase
{
@@ -131,7 +135,7 @@
File outDir = new File( tempRoot, "out" );
macArchiver.expectModeChange( -1, -1, mode, mode, true );
- macArchiver.expectAddDirectory( outDir, "out/", null, FileUtils.getDefaultExcludes() );
+ macArchiver.expectAddDirectory( outDir, "out/", null, null );
macRepo.expectAssemble( outDir, repo, macCS.configSource );
@@ -174,14 +178,117 @@
{
try
{
- archiver.addDirectory( outDir, location, includes, excludes );
+ DefaultFileSet fs = new DefaultFileSet();
+ fs.setDirectory( outDir );
+ fs.setPrefix( location );
+ fs.setIncludes( includes );
+ fs.setExcludes( excludes );
+
+ archiver.addFileSet( fs );
}
catch ( ArchiverException e )
{
Assert.fail( "Should never happen." );
}
- control.setMatcher( MockControl.ARRAY_MATCHER );
+ control.setMatcher( new AbstractMatcher()
+ {
+
+ protected boolean argumentMatches( Object expected, Object actual )
+ {
+ FileSet e = (FileSet) expected;
+ FileSet a = (FileSet) actual;
+
+ if ( !eq( e.getDirectory(), a.getDirectory() ) )
+ {
+ System.out.println( "FileSet directory expected: " + e.getDirectory() + "\nActual: "
+ + a.getDirectory() );
+
+ return false;
+ }
+
+ if ( !eq( e.getPrefix(), a.getPrefix() ) )
+ {
+ System.out.println( "FileSet prefix expected: " + e.getPrefix() + "\nActual: " + a.getPrefix() );
+
+ return false;
+ }
+
+ if ( !areq( e.getIncludes(), a.getIncludes() ) )
+ {
+ System.out.println( "FileSet includes expected: " + arToStr( e.getIncludes() ) + "\nActual: "
+ + arToStr( a.getIncludes() ) );
+
+ return false;
+ }
+
+ if ( !areq( e.getExcludes(), a.getExcludes() ) )
+ {
+ System.out.println( "FileSet excludes expected: " + arToStr( e.getExcludes() ) + "\nActual: "
+ + arToStr( a.getExcludes() ) );
+
+ return false;
+ }
+
+ return true;
+ }
+
+ protected String argumentToString( Object argument )
+ {
+ FileSet a = (FileSet) argument;
+
+ return argument == null ? "Null FileSet" : "FileSet:[dir=" + a.getDirectory() + ", prefix: "
+ + a.getPrefix() + "\nincludes:\n" + arToStr( a.getIncludes() ) + "\nexcludes:\n"
+ + arToStr( a.getExcludes() ) + "]";
+ }
+
+ private String arToStr( String[] array )
+ {
+ return array == null ? "-EMPTY-" : StringUtils.join( array, "\n\t" );
+ }
+
+ private boolean areq( String[] first, String[] second )
+ {
+ if ( ( first == null || first.length == 0 ) && ( second == null || second.length == 0 ) )
+ {
+ return true;
+ }
+ else if ( first == null && second != null )
+ {
+ return false;
+ }
+ else if ( first != null && second == null )
+ {
+ return false;
+ }
+ else
+ {
+ return Arrays.equals( first, second );
+ }
+ }
+
+ private boolean eq( Object first, Object second )
+ {
+ if ( first == null && second == null )
+ {
+ return true;
+ }
+ else if ( first == null && second != null )
+ {
+ return false;
+ }
+ else if ( first != null && second == null )
+ {
+ return false;
+ }
+ else
+ {
+ return first.equals( second );
+ }
+ }
+
+ });
+
control.setVoidCallable( MockControl.ONE_OR_MORE );
}
Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/AddDirectoryTaskTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/AddDirectoryTaskTest.java?rev=725394&r1=725393&r2=725394&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/AddDirectoryTaskTest.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/AddDirectoryTaskTest.java Wed Dec 10 11:29:42 2008
@@ -85,7 +85,7 @@
try
{
- archiver.addDirectory( null, null, null, null );
+ archiver.addFileSet( null );
archiverControl.setMatcher( MockControl.ALWAYS_MATCHER );
}
catch ( ArchiverException e )
@@ -113,7 +113,7 @@
try
{
- archiver.addDirectory( null, null, null, null );
+ archiver.addFileSet( null );
archiverControl.setMatcher( MockControl.ALWAYS_MATCHER );
}
catch ( ArchiverException e )
@@ -146,7 +146,7 @@
try
{
- archiver.addDirectory( null, null, null, null );
+ archiver.addFileSet( null );
archiverControl.setMatcher( MockControl.ALWAYS_MATCHER );
}
catch ( ArchiverException e )
Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddFileSetsTask.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddFileSetsTask.java?rev=725394&r1=725393&r2=725394&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddFileSetsTask.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddFileSetsTask.java Wed Dec 10 11:29:42 2008
@@ -138,7 +138,7 @@
try
{
- archiver.addDirectory( null, null, null, null );
+ archiver.addFileSet( null );
archiverCtl.setMatcher( MockControl.ALWAYS_MATCHER );
archiverCtl.setVoidCallable( MockControl.ONE_OR_MORE );
}