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/02 02:28:08 UTC
svn commit: r427819 [2/2] - in /maven/plugins/branches/MASSEMBLY-124/src:
main/java/org/apache/maven/plugin/assembly/
main/java/org/apache/maven/plugin/assembly/archive/phase/
main/java/org/apache/maven/plugin/assembly/archive/task/
main/java/org/apach...
Added: maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/phase/RepositoryAssemblyPhaseTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/phase/RepositoryAssemblyPhaseTest.java?rev=427819&view=auto
==============================================================================
--- maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/phase/RepositoryAssemblyPhaseTest.java (added)
+++ maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/phase/RepositoryAssemblyPhaseTest.java Tue Aug 1 17:28:06 2006
@@ -0,0 +1,262 @@
+package org.apache.maven.plugin.assembly.archive.phase;
+
+import org.apache.maven.model.Model;
+import org.apache.maven.plugin.assembly.AssemblerConfigurationSource;
+import org.apache.maven.plugin.assembly.archive.ArchiveCreationException;
+import org.apache.maven.plugin.assembly.format.AssemblyFormattingException;
+import org.apache.maven.plugin.assembly.repository.RepositoryAssembler;
+import org.apache.maven.plugin.assembly.repository.RepositoryAssemblyException;
+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.Repository;
+import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.archiver.Archiver;
+import org.codehaus.plexus.archiver.ArchiverException;
+import org.codehaus.plexus.logging.Logger;
+import org.easymock.MockControl;
+
+import java.io.File;
+import java.io.IOException;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
+public class RepositoryAssemblyPhaseTest
+ extends TestCase
+{
+
+ private TestFileManager fileManager = new TestFileManager( "repository-phase.test.", "" );
+
+ public void tearDown()
+ throws IOException
+ {
+ fileManager.cleanUp();
+ }
+
+ public void testExecute_ShouldNotIncludeRepositoryIfNonSpecifiedInAssembly()
+ throws ArchiveCreationException, AssemblyFormattingException
+ {
+ MockManager mm = new MockManager();
+
+ MockAndControlForRepositoryAssembler macRepo = new MockAndControlForRepositoryAssembler( mm );
+ MockAndControlForLogger macLogger = new MockAndControlForLogger( mm );
+ MockAndControlForArchiver macArchiver = new MockAndControlForArchiver( mm );
+ MockAndControlForConfigSource macCS = new MockAndControlForConfigSource( mm );
+
+ File tempRoot = fileManager.createTempDir();
+
+ macCS.expectGetTemporaryRootDirectory( tempRoot );
+
+ Assembly assembly = new Assembly();
+
+ assembly.setId( "test" );
+
+ mm.replayAll();
+
+ createPhase( macRepo.repositoryAssembler, macLogger.logger ).execute( assembly, macArchiver.archiver,
+ macCS.configSource );
+
+ mm.verifyAll();
+ }
+
+ public void testExecute_ShouldIncludeOneRepository()
+ throws ArchiveCreationException, AssemblyFormattingException
+ {
+ MockManager mm = new MockManager();
+
+ MockAndControlForRepositoryAssembler macRepo = new MockAndControlForRepositoryAssembler( mm );
+ MockAndControlForLogger macLogger = new MockAndControlForLogger( mm );
+ MockAndControlForArchiver macArchiver = new MockAndControlForArchiver( mm );
+ MockAndControlForConfigSource macCS = new MockAndControlForConfigSource( mm );
+
+ File tempRoot = fileManager.createTempDir();
+
+ macCS.expectGetTemporaryRootDirectory( tempRoot );
+ macCS.expectGetProject( new MavenProject( new Model() ) );
+ macCS.expectGetFinalName( "final-name" );
+
+ Assembly assembly = new Assembly();
+
+ assembly.setId( "test" );
+
+ Repository repo = new Repository();
+
+ repo.setOutputDirectory( "/out" );
+ repo.setDirectoryMode( "777" );
+ repo.setFileMode( "777" );
+
+ int mode = Integer.parseInt( "777", 8 );
+
+ File outDir = new File( tempRoot, "repositories/out" );
+
+ macArchiver.expectModeChange( -1, -1, mode, mode, true );
+ macArchiver.expectAddDirectory( outDir, "final-name/out/", null, new String[0] );
+
+ macRepo.expectAssemble( outDir, repo, macCS.configSource );
+
+ assembly.addRepository( repo );
+
+ mm.replayAll();
+
+ createPhase( macRepo.repositoryAssembler, macLogger.logger ).execute( assembly, macArchiver.archiver,
+ macCS.configSource );
+
+ mm.verifyAll();
+ }
+
+ private RepositoryAssemblyPhase createPhase( RepositoryAssembler repositoryAssembler, Logger logger )
+ {
+ RepositoryAssemblyPhase phase = new RepositoryAssemblyPhase( repositoryAssembler );
+ phase.enableLogging( logger );
+
+ return phase;
+ }
+
+ private final class MockAndControlForArchiver
+ {
+ Archiver archiver;
+
+ MockControl control;
+
+ public MockAndControlForArchiver( MockManager mockManager )
+ {
+ control = MockControl.createControl( Archiver.class );
+ mockManager.add( control );
+
+ archiver = ( Archiver ) control.getMock();
+ }
+
+ public void expectAddDirectory( File outDir, String location, String[] includes, String[] excludes )
+ {
+ try
+ {
+ archiver.addDirectory( outDir, location, includes, excludes );
+ }
+ catch ( ArchiverException e )
+ {
+ Assert.fail( "Should never happen." );
+ }
+
+ control.setMatcher( MockControl.ARRAY_MATCHER );
+ control.setVoidCallable( MockControl.ONE_OR_MORE );
+ }
+
+ void expectModeChange( int defaultDirMode, int defaultFileMode, int dirMode, int fileMode,
+ boolean expectTwoSets )
+ {
+ archiver.getDefaultDirectoryMode();
+ control.setReturnValue( defaultDirMode );
+
+ archiver.getDefaultFileMode();
+ control.setReturnValue( defaultFileMode );
+
+ if ( expectTwoSets )
+ {
+ archiver.setDefaultDirectoryMode( dirMode );
+ archiver.setDefaultFileMode( fileMode );
+ }
+
+ archiver.setDefaultDirectoryMode( defaultDirMode );
+ archiver.setDefaultFileMode( defaultFileMode );
+ }
+
+
+ // public void expectAddFile( File file, String outputLocation, int fileMode )
+ // {
+ // try
+ // {
+ // archiver.addFile( file, outputLocation, fileMode );
+ // }
+ // catch ( ArchiverException e )
+ // {
+ // Assert.fail( "Should never happen." );
+ // }
+ // }
+ }
+
+ private final class MockAndControlForConfigSource
+ {
+ AssemblerConfigurationSource configSource;
+
+ MockControl control;
+
+ public MockAndControlForConfigSource( MockManager mockManager )
+ {
+ control = MockControl.createControl( AssemblerConfigurationSource.class );
+ mockManager.add( control );
+
+ configSource = ( AssemblerConfigurationSource ) control.getMock();
+ }
+
+ public void expectGetProject( MavenProject project )
+ {
+ configSource.getProject();
+ control.setReturnValue( project, MockControl.ONE_OR_MORE );
+ }
+
+ public void expectGetFinalName( String finalName )
+ {
+ configSource.getFinalName();
+ control.setReturnValue( finalName, MockControl.ONE_OR_MORE );
+ }
+
+ public void expectGetTemporaryRootDirectory( File tempRoot )
+ {
+ configSource.getTemporaryRootDirectory();
+ control.setReturnValue( tempRoot, MockControl.ONE_OR_MORE );
+ }
+
+ //
+ // public void expectGetBasedir( File basedir )
+ // {
+ // configSource.getBasedir();
+ // control.setReturnValue( basedir, MockControl.ONE_OR_MORE );
+ // }
+ }
+
+ private final class MockAndControlForRepositoryAssembler
+ {
+ RepositoryAssembler repositoryAssembler;
+
+ MockControl control;
+
+ MockAndControlForRepositoryAssembler( MockManager mockManager )
+ {
+ control = MockControl.createControl( RepositoryAssembler.class );
+ mockManager.add( control );
+
+ repositoryAssembler = ( RepositoryAssembler ) control.getMock();
+ }
+
+ public void expectAssemble( File dir, Repository repo, AssemblerConfigurationSource configSource )
+ {
+ try
+ {
+ repositoryAssembler.assemble( dir, repo, configSource );
+ }
+ catch ( RepositoryAssemblyException e )
+ {
+ Assert.fail( "Should never happen" );
+ }
+
+ control.setVoidCallable( MockControl.ONE_OR_MORE );
+ }
+ }
+
+ private final class MockAndControlForLogger
+ {
+ Logger logger;
+
+ MockControl control;
+
+ public MockAndControlForLogger( MockManager mockManager )
+ {
+ control = MockControl.createControl( Logger.class );
+ mockManager.add( control );
+
+ logger = ( Logger ) control.getMock();
+ }
+ }
+
+}
Propchange: maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/phase/RepositoryAssemblyPhaseTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/phase/RepositoryAssemblyPhaseTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified: maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/task/AddArtifactTaskTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/task/AddArtifactTaskTest.java?rev=427819&r1=427818&r2=427819&view=diff
==============================================================================
--- maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/task/AddArtifactTaskTest.java (original)
+++ maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/task/AddArtifactTaskTest.java Tue Aug 1 17:28:06 2006
@@ -1,7 +1,9 @@
package org.apache.maven.plugin.assembly.archive.task;
+import org.apache.maven.artifact.Artifact;
import org.apache.maven.plugin.assembly.archive.ArchiveCreationException;
import org.apache.maven.plugin.assembly.archive.task.testutils.MockAndControlForAddArtifactTask;
+import org.apache.maven.plugin.assembly.format.AssemblyFormattingException;
import org.apache.maven.plugin.assembly.testutils.MockManager;
import org.codehaus.plexus.archiver.ArchiverException;
@@ -16,42 +18,54 @@
private MockManager mockManager;
- private MockAndControlForAddArtifactTask macForAddArtifact;
+ private MockAndControlForAddArtifactTask mac;
public void setUp()
throws IOException
{
mockManager = new MockManager();
- macForAddArtifact = new MockAndControlForAddArtifactTask( mockManager );
- macForAddArtifact.expectArtifactGetFile();
+ mac = new MockAndControlForAddArtifactTask( mockManager );
+ mac.expectArtifactGetFile();
+ mac.expectGetFinalName( "final-name" );
+ mac.expectGetClassifier( null );
+ mac.expectGetArtifactHandler();
}
public void testShouldAddArchiveFileWithoutUnpacking()
- throws ArchiveCreationException
+ throws ArchiveCreationException, AssemblyFormattingException
{
String outputLocation = "artifact";
- macForAddArtifact.expectAddFile( outputLocation );
+ mac.expectAddFile( outputLocation );
mockManager.replayAll();
- AddArtifactTask task = new AddArtifactTask( macForAddArtifact.artifact, outputLocation );
+ AddArtifactTask task = createTask( mac.artifact );
- task.execute( macForAddArtifact.archiver, null );
+ task.execute( mac.archiver, mac.configSource );
mockManager.verifyAll();
}
+ private AddArtifactTask createTask( Artifact artifact )
+ {
+ AddArtifactTask task = new AddArtifactTask( artifact );
+
+ task.setFileNameMapping( "artifact" );
+
+ return task;
+ }
+
public void testShouldAddArchiveFileWithUnpack()
- throws ArchiveCreationException
+ throws ArchiveCreationException, AssemblyFormattingException
{
- macForAddArtifact.expectModeChange( -1, -1, -1, -1, 1 );
+ mac.expectModeChange( -1, -1, -1, -1, 1 );
String outputLocation = "artifact";
try
{
- macForAddArtifact.archiver.addArchivedFileSet( macForAddArtifact.artifactFile, outputLocation, null, null );
+ mac.archiver.addArchivedFileSet( mac.artifactFile, outputLocation, null, null );
}
catch ( ArchiverException e )
{
@@ -60,28 +74,28 @@
mockManager.replayAll();
- AddArtifactTask task = new AddArtifactTask( macForAddArtifact.artifact, outputLocation );
+ AddArtifactTask task = createTask( mac.artifact );
task.setUnpack( true );
- task.execute( macForAddArtifact.archiver, null );
+ task.execute( mac.archiver, mac.configSource );
mockManager.verifyAll();
}
public void testShouldAddArchiveFileWithUnpackAndModes()
- throws ArchiveCreationException
+ throws ArchiveCreationException, AssemblyFormattingException
{
int directoryMode = Integer.parseInt( "777", 8 );
int fileMode = Integer.parseInt( "777", 8 );
- macForAddArtifact.expectModeChange( -1, -1, directoryMode, fileMode, 2 );
+ mac.expectModeChange( -1, -1, directoryMode, fileMode, 2 );
String outputLocation = "artifact";
try
{
- macForAddArtifact.archiver.addArchivedFileSet( macForAddArtifact.artifactFile, outputLocation, null, null );
+ mac.archiver.addArchivedFileSet( mac.artifactFile, outputLocation, null, null );
}
catch ( ArchiverException e )
{
@@ -90,38 +104,38 @@
mockManager.replayAll();
- AddArtifactTask task = new AddArtifactTask( macForAddArtifact.artifact, outputLocation );
+ AddArtifactTask task = createTask( mac.artifact );
task.setUnpack( true );
- task.setDirectoryMode( directoryMode );
- task.setFileMode( fileMode );
+ task.setDirectoryMode( "777" );
+ task.setFileMode( "777" );
- task.execute( macForAddArtifact.archiver, null );
+ task.execute( mac.archiver, mac.configSource );
mockManager.verifyAll();
}
public void testShouldAddArchiveFileWithUnpackIncludesAndExcludes()
- throws ArchiveCreationException
+ throws ArchiveCreationException, AssemblyFormattingException
{
- macForAddArtifact.expectModeChange( -1, -1, -1, -1, 1 );
+ mac.expectModeChange( -1, -1, -1, -1, 1 );
String outputLocation = "artifact";
String[] includes = { "**/*.txt" };
String[] excludes = { "**/README.txt" };
- macForAddArtifact.expectAddArchivedFileSet( outputLocation, includes, excludes );
+ mac.expectAddArchivedFileSet( outputLocation, includes, excludes );
mockManager.replayAll();
- AddArtifactTask task = new AddArtifactTask( macForAddArtifact.artifact, outputLocation );
+ AddArtifactTask task = createTask( mac.artifact );
task.setUnpack( true );
task.setIncludes( Arrays.asList( includes ) );
task.setExcludes( Arrays.asList( excludes ) );
- task.execute( macForAddArtifact.archiver, null );
+ task.execute( mac.archiver, mac.configSource );
mockManager.verifyAll();
}
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=427819&r1=427818&r2=427819&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 Tue Aug 1 17:28:06 2006
@@ -2,6 +2,7 @@
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.handler.ArtifactHandler;
+import org.apache.maven.plugin.assembly.AssemblerConfigurationSource;
import org.apache.maven.plugin.assembly.testutils.MockManager;
import org.codehaus.plexus.archiver.Archiver;
import org.codehaus.plexus.archiver.ArchiverException;
@@ -25,23 +26,66 @@
public MockControl archiverCtl;
+ public AssemblerConfigurationSource configSource;
+
+ public MockControl configSourceCtl;
+
+ public ArtifactHandler artifactHandler;
+
+ public MockControl artifactHandlerCtl;
+
public MockAndControlForAddArtifactTask( MockManager mockManager )
- throws IOException
{
artifactCtl = MockControl.createControl( Artifact.class );
mockManager.add( artifactCtl );
artifact = ( Artifact ) artifactCtl.getMock();
+ artifactHandlerCtl = MockControl.createControl( ArtifactHandler.class );
+ mockManager.add( artifactHandlerCtl );
+
+ artifactHandler = (ArtifactHandler) artifactHandlerCtl.getMock();
+
archiverCtl = MockControl.createControl( Archiver.class );
mockManager.add( archiverCtl );
archiver = (Archiver) archiverCtl.getMock();
+
+ configSourceCtl = MockControl.createControl( AssemblerConfigurationSource.class );
+ mockManager.add( configSourceCtl );
+
+ configSource = (AssemblerConfigurationSource) configSourceCtl.getMock();
}
-
+
+ public void expectGetArtifactHandler()
+ {
+ artifact.getArtifactHandler();
+ artifactCtl.setReturnValue( artifactHandler, MockControl.ONE_OR_MORE );
+ }
+
+ public void expectGetClassifier( String classifier )
+ {
+ artifact.getClassifier();
+ artifactCtl.setReturnValue( classifier, MockControl.ONE_OR_MORE );
+ }
+
+ public void expectGetFinalName( String finalName )
+ {
+ configSource.getFinalName();
+ configSourceCtl.setReturnValue( finalName, MockControl.ONE_OR_MORE );
+ }
+
public void expectArtifactGetFile() throws IOException
{
- artifactFile = File.createTempFile( "add-artifact-task.test.", ".jar" );
+ expectArtifactGetFile( true );
+ }
+
+ public void expectArtifactGetFile( boolean createTempFile ) throws IOException
+ {
+ if ( createTempFile )
+ {
+ artifactFile = File.createTempFile( "add-artifact-task.test.", ".jar" );
+ }
artifact.getFile();
@@ -117,18 +161,6 @@
}
}
- public void expectArtifactGetArtifactHandler( ArtifactHandler artifactHandler )
- {
- artifact.getArtifactHandler();
- artifactCtl.setReturnValue( artifactHandler, MockControl.ONE_OR_MORE );
- }
-
- public void expectArtifactGetClassifier( String classifier )
- {
- artifact.getClassifier();
- artifactCtl.setReturnValue( classifier, MockControl.ONE_OR_MORE );
- }
-
public void expectArtifactGetScope( String scope )
{
artifact.getScope();
Modified: maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddFileSetsTask.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddFileSetsTask.java?rev=427819&r1=427818&r2=427819&view=diff
==============================================================================
--- maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddFileSetsTask.java (original)
+++ maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddFileSetsTask.java Tue Aug 1 17:28:06 2006
@@ -40,15 +40,16 @@
mockManager.add( archiverCtl );
archiver = ( Archiver ) archiverCtl.getMock();
-
- archiveBaseDir = fileManager.createTempDir(); }
+
+ archiveBaseDir = fileManager.createTempDir();
+ }
public void expectGetArchiveBaseDirectory()
{
configSource.getArchiveBaseDirectory();
configSourceCtl.setReturnValue( archiveBaseDir, MockControl.ONE_OR_MORE );
}
-
+
public void expectGetBasedir( File basedir )
{
configSource.getBasedir();
@@ -75,10 +76,19 @@
archiver.setDefaultDirectoryMode( modes[0] );
archiver.setDefaultFileMode( modes[1] );
}
-
+
public void expectAdditionOfSingleFileSet( MavenProject project, File basedir, String finalName,
- boolean shouldAddDir, int[] modes, int modeChangeCount,
- boolean isDebugEnabled )
+ boolean shouldAddDir, int[] modes, int modeChangeCount,
+ boolean isDebugEnabled )
+ {
+ expectAdditionOfSingleFileSet( project, basedir, finalName, shouldAddDir, modes, modeChangeCount,
+ isDebugEnabled, true );
+
+ }
+
+ public void expectAdditionOfSingleFileSet( MavenProject project, File basedir, String finalName,
+ boolean shouldAddDir, int[] modes, int modeChangeCount,
+ boolean isDebugEnabled, boolean isProjectUsed )
{
// the logger sends a debug message with this info inside the addFileSet(..) method..
if ( isDebugEnabled )
@@ -90,8 +100,11 @@
archiverCtl.setReturnValue( modes[1] );
}
- configSource.getProject();
- configSourceCtl.setReturnValue( project, MockControl.ONE_OR_MORE );
+ if ( isProjectUsed )
+ {
+ configSource.getProject();
+ configSourceCtl.setReturnValue( project, MockControl.ONE_OR_MORE );
+ }
configSource.getBasedir();
configSourceCtl.setReturnValue( basedir, MockControl.ONE_OR_MORE );
Modified: maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReaderTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReaderTest.java?rev=427819&r1=427818&r2=427819&view=diff
==============================================================================
--- maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReaderTest.java (original)
+++ maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReaderTest.java Tue Aug 1 17:28:06 2006
@@ -11,6 +11,7 @@
import org.apache.maven.plugins.assembly.model.DependencySet;
import org.apache.maven.plugins.assembly.model.FileItem;
import org.apache.maven.plugins.assembly.model.FileSet;
+import org.apache.maven.plugins.assembly.model.Repository;
import org.apache.maven.plugins.assembly.model.io.xpp3.AssemblyXpp3Writer;
import org.apache.maven.plugins.assembly.model.io.xpp3.ComponentXpp3Writer;
import org.apache.maven.project.MavenProject;
@@ -296,6 +297,39 @@
assertEquals( Artifact.SCOPE_RUNTIME, ((DependencySet) depSets.get( 0 )).getScope() );
assertEquals( Artifact.SCOPE_COMPILE, ((DependencySet) depSets.get( 1 )).getScope() );
assertEquals( Artifact.SCOPE_SYSTEM, ((DependencySet) depSets.get( 2 )).getScope() );
+ }
+
+ public void testMergeComponentWithAssembly_ShouldAddOneRepositoryToExistingListOfTwo()
+ {
+ Assembly assembly = new Assembly();
+
+ Repository repo = new Repository();
+ repo.setScope( Artifact.SCOPE_RUNTIME );
+
+ assembly.addRepository( repo );
+
+ repo = new Repository();
+ repo.setScope( Artifact.SCOPE_COMPILE );
+
+ assembly.addRepository( repo );
+
+ Component component = new Component();
+
+ repo = new Repository();
+ repo.setScope( Artifact.SCOPE_SYSTEM );
+
+ component.addRepository( repo );
+
+ new DefaultAssemblyReader().mergeComponentWithAssembly( component, assembly );
+
+ List depSets = assembly.getRepositories();
+
+ assertNotNull( depSets );
+ assertEquals( 3, depSets.size() );
+
+ assertEquals( Artifact.SCOPE_RUNTIME, ((Repository) depSets.get( 0 )).getScope() );
+ assertEquals( Artifact.SCOPE_COMPILE, ((Repository) depSets.get( 1 )).getScope() );
+ assertEquals( Artifact.SCOPE_SYSTEM, ((Repository) depSets.get( 2 )).getScope() );
}
// FIXME: Deep merging should take place...
Modified: maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/testutils/TestFileManager.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/testutils/TestFileManager.java?rev=427819&r1=427818&r2=427819&view=diff
==============================================================================
--- maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/testutils/TestFileManager.java (original)
+++ maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/testutils/TestFileManager.java Tue Aug 1 17:28:06 2006
@@ -25,16 +25,51 @@
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(){
+
+ public void run()
+ {
+ maybeWarnAboutCleanUp();
+ }
+
+ };
+
+ cleanupWarning = new Thread( warning );
+
+ Runtime.getRuntime().addShutdownHook( cleanupWarning );
+ }
+
+ private void maybeWarnAboutCleanUp()
+ {
+ if ( warnAboutCleanup )
+ {
+ System.out.println( "[WARNING] TestFileManager from: " + callerInfo.getClassName() + " not cleaned up!" );
+ }
}
public void markForDeletion( File toDelete )
{
filesToDelete.add( toDelete );
+ warnAboutCleanup = true;
}
public synchronized File createTempDir()
@@ -60,7 +95,7 @@
{
File tempFile = File.createTempFile( baseFilename, fileSuffix );
tempFile.deleteOnExit();
- filesToDelete.add( tempFile );
+ markForDeletion( tempFile );
return tempFile;
}
@@ -86,6 +121,8 @@
it.remove();
}
+
+ warnAboutCleanup = false;
}
public void assertFileExistence( File dir, String filename, boolean shouldExist )
@@ -145,6 +182,8 @@
{
IOUtil.close( writer );
}
+
+ markForDeletion( file );
return file;
}
@@ -171,6 +210,14 @@
}
return result;
+ }
+
+ protected void finalize()
+ throws Throwable
+ {
+ maybeWarnAboutCleanUp();
+
+ super.finalize();
}
}
Modified: maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/utils/AssemblyFileUtilsTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/utils/AssemblyFileUtilsTest.java?rev=427819&r1=427818&r2=427819&view=diff
==============================================================================
--- maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/utils/AssemblyFileUtilsTest.java (original)
+++ maven/plugins/branches/MASSEMBLY-124/src/test/java/org/apache/maven/plugin/assembly/utils/AssemblyFileUtilsTest.java Tue Aug 1 17:28:06 2006
@@ -23,11 +23,18 @@
extends TestCase
{
+ private TestFileManager fileManager = new TestFileManager( "file-utils.test.", "" );
+
+ public void tearDown()
+ throws IOException
+ {
+ fileManager.cleanUp();
+ }
+
public void testUnpack_ShouldSetSourceAndDestinationAndCallExtract()
throws IOException, ArchiveExpansionException, NoSuchArchiverException
{
MockManager mockManager = new MockManager();
- TestFileManager fileManager = new TestFileManager( "file-utils.unpack.test.", "" );
File source = fileManager.createTempFile();
File destDir = fileManager.createTempDir();
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=427819&r1=427818&r2=427819&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 Tue Aug 1 17:28:06 2006
@@ -6,6 +6,7 @@
import org.apache.maven.plugin.assembly.testutils.MockManager;
import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.logging.Logger;
+import org.codehaus.plexus.logging.console.ConsoleLogger;
import org.easymock.MockControl;
import java.util.Collections;
@@ -248,7 +249,9 @@
exclusions = Collections.EMPTY_LIST;
}
- FilterUtils.filterProjects( projects, inclusions, exclusions, depTrail != null );
+ Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
+
+ FilterUtils.filterProjects( projects, inclusions, exclusions, depTrail != null, logger );
if ( verifyInclusion )
{