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/24 20:25:41 UTC
svn commit: r434459 - in /maven/plugins/trunk/maven-assembly-plugin: ./
src/it/dependency-sets/including-pom-dependency/
src/it/dependency-sets/including-sar-dependency/
src/it/dependency-sets/including-sar-dependency/src/
src/it/dependency-sets/includ...
Author: jdcasey
Date: Thu Aug 24 11:25:39 2006
New Revision: 434459
URL: http://svn.apache.org/viewvc?rev=434459&view=rev
Log:
Adding aliasing for sar dependencies, along with simple copying of pom deps
Added:
maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/
maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/goals.txt (with props)
maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/pom.xml (with props)
maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/src/
maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/src/assemble/
maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/src/assemble/bin.xml (with props)
maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/src/main/
maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/src/main/java/
maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/src/main/java/com/
maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/src/main/java/com/nf/
maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/src/main/java/com/nf/ass/
maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/src/main/java/com/nf/ass/App.java (with props)
maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/verify.bsh
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/archiver/
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/archiver/NoOpUnArchiver.java (with props)
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/archiver/
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/archiver/NoOpUnArchiverTest.java (with props)
Modified:
maven/plugins/trunk/maven-assembly-plugin/pom.xml
maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-pom-dependency/verify.bsh
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTask.java
maven/plugins/trunk/maven-assembly-plugin/src/main/resources/META-INF/plexus/components.xml
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhaseTest.java
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTaskTest.java
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/testutils/TestFileManager.java
Modified: maven/plugins/trunk/maven-assembly-plugin/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/pom.xml?rev=434459&r1=434458&r2=434459&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/pom.xml (original)
+++ maven/plugins/trunk/maven-assembly-plugin/pom.xml Thu Aug 24 11:25:39 2006
@@ -208,7 +208,7 @@
</configuration>
</plugin>
<plugin>
- <artifactId>maven-plugin-test-plugin</artifactId>
+ <artifactId>maven-plugin-management-plugin</artifactId>
<executions>
<execution>
<id>handle-plugin-staging</id>
Modified: maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-pom-dependency/verify.bsh
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-pom-dependency/verify.bsh?rev=434459&r1=434458&r2=434459&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-pom-dependency/verify.bsh (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-pom-dependency/verify.bsh Thu Aug 24 11:25:39 2006
@@ -7,8 +7,8 @@
result = result && new File( basedir, "target/including-pom-dependency-1.0-SNAPSHOT-bin.dir/lib/classworlds.jar" ).exists();
result = result && new File( basedir, "target/including-pom-dependency-1.0-SNAPSHOT-bin.dir/lib/junit.jar" ).exists();
-// verify that the POM dep wasn't included.
-result = result && !new File( basedir, "target/including-pom-dependency-1.0-SNAPSHOT-bin.dir/lib/plexus-container-default.pom" ).exists();
+// verify that the POM dep was included without extracting.
+result = result && new File( basedir, "target/including-pom-dependency-1.0-SNAPSHOT-bin.dir/lib/plexus-container-default.pom" ).exists();
// verify that the jar associated with the POM dep wasn't included either.
result = result && !new File( basedir, "target/including-pom-dependency-1.0-SNAPSHOT-bin.dir/lib/plexus-container-default.jar" ).exists();
Added: maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/goals.txt
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/goals.txt?rev=434459&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/goals.txt (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/goals.txt Thu Aug 24 11:25:39 2006
@@ -0,0 +1,2 @@
+clean
+assembly:directory
Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/goals.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/goals.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/pom.xml?rev=434459&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/pom.xml (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/pom.xml Thu Aug 24 11:25:39 2006
@@ -0,0 +1,30 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>test</groupId>
+ <artifactId>including-sar-dependency</artifactId>
+ <packaging>jar</packaging>
+ <version>1.0-SNAPSHOT</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-appserver-service-xmlrpc</artifactId>
+ <version>2.0-alpha-3</version>
+ <type>sar</type>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <configuration>
+ <descriptors>
+ <descriptor>src/assemble/bin.xml</descriptor>
+ </descriptors>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/pom.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/src/assemble/bin.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/src/assemble/bin.xml?rev=434459&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/src/assemble/bin.xml (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/src/assemble/bin.xml Thu Aug 24 11:25:39 2006
@@ -0,0 +1,14 @@
+<assembly>
+ <id>bin</id>
+ <formats>
+ <format>dir</format>
+ </formats>
+ <includeBaseDirectory>false</includeBaseDirectory>
+ <dependencySets>
+ <dependencySet>
+ <outputFileNameMapping>${artifactId}.${extension}</outputFileNameMapping>
+ <outputDirectory>lib</outputDirectory>
+ <unpack>false</unpack>
+ </dependencySet>
+ </dependencySets>
+</assembly>
Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/src/assemble/bin.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/src/assemble/bin.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/src/main/java/com/nf/ass/App.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/src/main/java/com/nf/ass/App.java?rev=434459&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/src/main/java/com/nf/ass/App.java (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/src/main/java/com/nf/ass/App.java Thu Aug 24 11:25:39 2006
@@ -0,0 +1,13 @@
+package com.nf.ass;
+
+/**
+ * Hello world!
+ *
+ */
+public class App
+{
+ public static void main( String[] args )
+ {
+ System.out.println( "Hello World!" );
+ }
+}
Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/src/main/java/com/nf/ass/App.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/src/main/java/com/nf/ass/App.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/verify.bsh
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/verify.bsh?rev=434459&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/verify.bsh (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/dependency-sets/including-sar-dependency/verify.bsh Thu Aug 24 11:25:39 2006
@@ -0,0 +1,12 @@
+import java.io.*;
+
+boolean result = true;
+
+// verify that transitive deps of the POM dep were included.
+result = result && new File( basedir, "target/including-sar-dependency-1.0-SNAPSHOT-bin.dir/lib/xmlrpc.jar" ).exists();
+result = result && new File( basedir, "target/including-sar-dependency-1.0-SNAPSHOT-bin.dir/lib/plexus-xmlrpc.jar" ).exists();
+
+// verify that the POM dep was included without extracting.
+result = result && new File( basedir, "target/including-sar-dependency-1.0-SNAPSHOT-bin.dir/lib/plexus-appserver-service-xmlrpc.sar" ).exists();
+
+return result;
Added: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/archiver/NoOpUnArchiver.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/archiver/NoOpUnArchiver.java?rev=434459&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/archiver/NoOpUnArchiver.java (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/archiver/NoOpUnArchiver.java Thu Aug 24 11:25:39 2006
@@ -0,0 +1,89 @@
+package org.apache.maven.plugin.assembly.archive.archiver;
+
+import org.codehaus.plexus.archiver.ArchiverException;
+import org.codehaus.plexus.archiver.UnArchiver;
+import org.codehaus.plexus.logging.AbstractLogEnabled;
+import org.codehaus.plexus.util.FileUtils;
+
+import java.io.File;
+import java.io.IOException;
+
+public class NoOpUnArchiver
+ extends AbstractLogEnabled
+ implements UnArchiver
+{
+
+ private File destDir;
+ private File destFile;
+
+ private boolean overwrite = false;
+
+ private File sourceFile;
+
+ public void extract()
+ throws ArchiverException, IOException
+ {
+ if ( sourceFile == null || !sourceFile.exists() )
+ {
+ throw new ArchiverException( "Source file is not available: " + sourceFile );
+ }
+
+ if ( destFile == null )
+ {
+ if ( destDir != null )
+ {
+ String filename = sourceFile.getName();
+
+ destFile = new File( destDir, filename );
+ }
+ else
+ {
+ throw new ArchiverException( "No destination configured. Please set either destDirectory or destFile property for source file: " + sourceFile );
+ }
+ }
+
+ if ( !overwrite && destFile.exists() )
+ {
+ getLogger().debug( "Destination file: " + destFile + " already exists. Not overwriting." );
+ return;
+ }
+
+ FileUtils.copyFile( sourceFile, destFile );
+ }
+
+ public File getDestDirectory()
+ {
+ return null;
+ }
+
+ public File getDestFile()
+ {
+ return null;
+ }
+
+ public File getSourceFile()
+ {
+ return null;
+ }
+
+ public void setDestDirectory( File destDir )
+ {
+ this.destDir = destDir;
+ }
+
+ public void setDestFile( File destFile )
+ {
+ this.destFile = destFile;
+ }
+
+ public void setOverwrite( boolean overwrite )
+ {
+ this.overwrite = overwrite;
+ }
+
+ public void setSourceFile( File sourceFile )
+ {
+ this.sourceFile = sourceFile;
+ }
+
+}
Propchange: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/archiver/NoOpUnArchiver.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/archiver/NoOpUnArchiver.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTask.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTask.java?rev=434459&r1=434458&r2=434459&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTask.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTask.java Thu Aug 24 11:25:39 2006
@@ -75,12 +75,6 @@
{
Artifact depArtifact = ( Artifact ) j.next();
- if ( "pom".equals( depArtifact.getType() ) )
- {
- logger.info( "Skipping POM artifact (found among dependencies for " + project.getId() + "): " + depArtifact.getId() );
- continue;
- }
-
MavenProject depProject;
try
{
Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/resources/META-INF/plexus/components.xml?rev=434459&r1=434458&r2=434459&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/resources/META-INF/plexus/components.xml Thu Aug 24 11:25:39 2006
@@ -18,36 +18,18 @@
<component-set>
<components>
+ <!-- UnArchiver -->
<component>
- <role>org.apache.maven.plugin.assembly.repository.RepositoryAssembler</role>
- <implementation>org.apache.maven.plugin.assembly.repository.DefaultRepositoryAssembler</implementation>
- <requirements>
- <requirement>
- <role>org.apache.maven.artifact.factory.ArtifactFactory</role>
- <field-name>artifactFactory</field-name>
- </requirement>
- <requirement>
- <role>org.apache.maven.artifact.resolver.ArtifactResolver</role>
- <field-name>artifactResolver</field-name>
- </requirement>
- <requirement>
- <role>org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout</role>
- <field-name>repositoryLayout</field-name>
- </requirement>
- <requirement>
- <role>org.apache.maven.artifact.repository.ArtifactRepositoryFactory</role>
- <field-name>artifactRepositoryFactory</field-name>
- </requirement>
- <requirement>
- <role>org.apache.maven.artifact.metadata.ArtifactMetadataSource</role>
- <role-hint>maven</role-hint>
- <field-name>metadataSource</field-name>
- </requirement>
- <requirement>
- <role>org.apache.maven.project.MavenProjectBuilder</role>
- <field-name>projectBuilder</field-name>
- </requirement>
- </requirements>
+ <role>org.codehaus.plexus.archiver.UnArchiver</role>
+ <role-hint>pom</role-hint>
+ <implementation>org.apache.maven.plugin.assembly.archive.archiver.NoOpUnArchiver</implementation>
+ <instantiation-strategy>per-lookup</instantiation-strategy>
+ </component>
+ <component>
+ <role>org.codehaus.plexus.archiver.UnArchiver</role>
+ <role-hint>sar</role-hint>
+ <implementation>org.codehaus.plexus.archiver.zip.ZipUnArchiver</implementation>
+ <instantiation-strategy>per-lookup</instantiation-strategy>
</component>
</components>
</component-set>
Added: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/archiver/NoOpUnArchiverTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/archiver/NoOpUnArchiverTest.java?rev=434459&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/archiver/NoOpUnArchiverTest.java (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/archiver/NoOpUnArchiverTest.java Thu Aug 24 11:25:39 2006
@@ -0,0 +1,159 @@
+package org.apache.maven.plugin.assembly.archive.archiver;
+
+import org.apache.maven.plugin.assembly.testutils.TestFileManager;
+import org.apache.maven.plugin.assembly.testutils.TestUtils;
+import org.codehaus.plexus.archiver.ArchiverException;
+import org.codehaus.plexus.archiver.UnArchiver;
+import org.codehaus.plexus.logging.Logger;
+import org.codehaus.plexus.logging.console.ConsoleLogger;
+
+import java.io.File;
+import java.io.IOException;
+
+import junit.framework.TestCase;
+
+public class NoOpUnArchiverTest
+ extends TestCase
+{
+
+ private TestFileManager fileManager = new TestFileManager( "no-op-unarchiver.test.", "" );
+
+ public void tearDown()
+ throws IOException
+ {
+ fileManager.cleanUp();
+ }
+
+ public void testShouldFailWhenDestDirAndDestFileAreMissing()
+ throws IOException
+ {
+ UnArchiver unarch = new NoOpUnArchiver();
+
+ File testFile = fileManager.createTempFile();
+
+ unarch.setSourceFile( testFile );
+
+ try
+ {
+ unarch.extract();
+
+ fail( "Should fail when no destination is set." );
+ }
+ catch ( ArchiverException e )
+ {
+ // expected
+ }
+ }
+
+ public void testShouldFailWhenSourceIsMissing()
+ throws IOException
+ {
+ UnArchiver unarch = new NoOpUnArchiver();
+
+ File testFile = fileManager.createTempFile();
+
+ unarch.setDestFile( testFile );
+
+ try
+ {
+ unarch.extract();
+
+ fail( "Should fail when no source is set." );
+ }
+ catch ( ArchiverException e )
+ {
+ // expected
+ }
+ }
+
+ public void testShouldCopyFromSourceFileToDestDirUsingSourceFilename()
+ throws IOException, ArchiverException
+ {
+ UnArchiver unarch = new NoOpUnArchiver();
+
+ File destDir = fileManager.createTempDir();
+
+ String testContent = "This is a test.";
+
+ File sourceFile = fileManager.createFile( "test.txt", testContent );
+
+ unarch.setDestDirectory( destDir );
+ unarch.setSourceFile( sourceFile );
+
+ unarch.extract();
+
+ String content = TestUtils.readFile( new File( destDir, "test.txt" ) );
+
+ assertEquals( testContent, content );
+ }
+
+ public void testShouldCopyFromSourceFileToDestFile()
+ throws IOException, ArchiverException
+ {
+ UnArchiver unarch = new NoOpUnArchiver();
+
+ File destFile = fileManager.createTempFile();
+
+ destFile.delete();
+
+ String testContent = "This is a test.";
+
+ File sourceFile = fileManager.createFile( "test.txt", testContent );
+
+ unarch.setDestFile( destFile );
+ unarch.setSourceFile( sourceFile );
+
+ unarch.extract();
+
+ String content = TestUtils.readFile( destFile );
+
+ assertEquals( testContent, content );
+ }
+
+ public void testShouldNotCopyWhenDestFileExistsAndOverwriteIsFalse()
+ throws IOException, ArchiverException
+ {
+ NoOpUnArchiver unarch = new NoOpUnArchiver();
+
+ unarch.enableLogging( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) );
+
+ File destFile = fileManager.createTempFile();
+
+ String testContent = "This is a test.";
+
+ File sourceFile = fileManager.createFile( "test.txt", testContent );
+
+ unarch.setDestFile( destFile );
+ unarch.setSourceFile( sourceFile );
+ unarch.setOverwrite( false );
+
+ unarch.extract();
+
+ String content = TestUtils.readFile( destFile ).trim();
+
+ assertEquals( "", content );
+ }
+
+ public void testShouldCopyWhenDestFileExistsAndOverwriteIsTrue()
+ throws IOException, ArchiverException
+ {
+ UnArchiver unarch = new NoOpUnArchiver();
+
+ File destFile = fileManager.createTempFile();
+
+ String testContent = "This is a test.";
+
+ File sourceFile = fileManager.createFile( "test.txt", testContent );
+
+ unarch.setDestFile( destFile );
+ unarch.setSourceFile( sourceFile );
+ unarch.setOverwrite( true );
+
+ unarch.extract();
+
+ String content = TestUtils.readFile( destFile );
+
+ assertEquals( testContent, content );
+ }
+
+}
Propchange: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/archiver/NoOpUnArchiverTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/archiver/NoOpUnArchiverTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhaseTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhaseTest.java?rev=434459&r1=434458&r2=434459&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhaseTest.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhaseTest.java Thu Aug 24 11:25:39 2006
@@ -54,7 +54,6 @@
MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mockManager );
macTask.expectArtifactGetFile();
- macTask.expectArtifactGetType( "jar" );
macTask.expectArtifactGetScope( Artifact.SCOPE_COMPILE );
macTask.expectGetClassifier( null );
macTask.expectIsSnapshot( false );
Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java?rev=434459&r1=434458&r2=434459&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java Thu Aug 24 11:25:39 2006
@@ -227,7 +227,6 @@
macDepArtifact.expectGetArtifactHandler();
macDepArtifact.expectGetArtifactId( "dep" );
macDepArtifact.expectGetScope( Artifact.SCOPE_COMPILE );
- macDepArtifact.expectGetType( "jar" );
macDepArtifact.expectGetFile();
macTask.expectAddFile( macDepArtifact.artifactFile, "out/dep", Integer.parseInt( "777", 8 ) );
@@ -295,7 +294,6 @@
macDepArtifact.expectGetArtifactHandler();
macDepArtifact.expectGetArtifactId( "dep" );
macDepArtifact.expectGetScope( Artifact.SCOPE_COMPILE );
- macDepArtifact.expectGetType( "jar" );
macDepArtifact.expectGetFile();
macTask.expectAddFile( macDepArtifact.artifactFile, "out/dep", Integer.parseInt( "777", 8 ) );
Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTaskTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTaskTest.java?rev=434459&r1=434458&r2=434459&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTaskTest.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTaskTest.java Thu Aug 24 11:25:39 2006
@@ -84,7 +84,6 @@
MockAndControlForAddArtifactTask macTask = new MockAndControlForAddArtifactTask( mockManager );
macTask.expectArtifactGetFile();
- macTask.expectArtifactGetType( "jar" );
macTask.expectArtifactGetScope( Artifact.SCOPE_COMPILE );
macTask.expectGetClassifier( null );
macTask.expectIsSnapshot( false );
Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/testutils/TestFileManager.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/testutils/TestFileManager.java?rev=434459&r1=434458&r2=434459&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/testutils/TestFileManager.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/testutils/TestFileManager.java Thu Aug 24 11:25:39 2006
@@ -25,26 +25,27 @@
private final String baseFilename;
private final String fileSuffix;
-
+
private StackTraceElement callerInfo;
-
+
private Thread cleanupWarning;
-
+
private boolean warnAboutCleanup = false;
public TestFileManager( String baseFilename, String fileSuffix )
{
this.baseFilename = baseFilename;
this.fileSuffix = fileSuffix;
-
+
initializeCleanupMonitoring();
}
private void initializeCleanupMonitoring()
{
callerInfo = new NullPointerException().getStackTrace()[2];
-
- Runnable warning = new Runnable(){
+
+ Runnable warning = new Runnable()
+ {
public void run()
{
@@ -52,12 +53,12 @@
}
};
-
+
cleanupWarning = new Thread( warning );
-
+
Runtime.getRuntime().addShutdownHook( cleanupWarning );
}
-
+
private void maybeWarnAboutCleanUp()
{
if ( warnAboutCleanup )
@@ -105,7 +106,7 @@
{
for ( Iterator it = filesToDelete.iterator(); it.hasNext(); )
{
- File file = (File) it.next();
+ File file = ( File ) it.next();
if ( file.exists() )
{
@@ -121,7 +122,7 @@
it.remove();
}
-
+
warnAboutCleanup = false;
}
@@ -182,7 +183,7 @@
{
IOUtil.close( writer );
}
-
+
markForDeletion( file );
return file;
@@ -192,23 +193,23 @@
throws IOException
{
String result = null;
-
+
FileReader reader = null;
try
{
reader = new FileReader( file );
-
+
StringWriter writer = new StringWriter();
-
+
IOUtil.copy( reader, writer );
-
+
result = writer.toString();
}
finally
{
IOUtil.close( reader );
}
-
+
return result;
}
@@ -216,8 +217,15 @@
throws Throwable
{
maybeWarnAboutCleanUp();
-
+
super.finalize();
+ }
+
+ public File createFile( String filename, String content )
+ throws IOException
+ {
+ File dir = createTempDir();
+ return createFile( dir, filename, content );
}
}