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/02/18 21:06:31 UTC
svn commit: r628856 - in /maven/plugins/trunk/maven-assembly-plugin/src:
it/projects/basic-features/descriptorDirectoryScan/
it/projects/basic-features/descriptorDirectoryScan/src/
it/projects/basic-features/descriptorDirectoryScan/src/assemble/ main/j...
Author: jdcasey
Date: Mon Feb 18 12:06:17 2008
New Revision: 628856
URL: http://svn.apache.org/viewvc?rev=628856&view=rev
Log:
[MASSEMBLY-274] Modifying the directory scanner logic used to scan an assembly descriptor directory to use default excludes, and only search for **/*.xml. Adding an integration test and unit test to cover this.
Patches submitted by: Paul Gier and Benjamin Bentmann
NOTE: I added the unit test method myself.
Added:
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/descriptorDirectoryScan/
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/descriptorDirectoryScan/goals.txt (with props)
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/descriptorDirectoryScan/pom.xml (with props)
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/descriptorDirectoryScan/src/
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/descriptorDirectoryScan/src/assemble/
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/descriptorDirectoryScan/src/assemble/bin.xml (with props)
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/descriptorDirectoryScan/src/assemble/readme.txt (with props)
Modified:
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReader.java
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReaderTest.java
Added: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/descriptorDirectoryScan/goals.txt
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/descriptorDirectoryScan/goals.txt?rev=628856&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/descriptorDirectoryScan/goals.txt (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/descriptorDirectoryScan/goals.txt Mon Feb 18 12:06:17 2008
@@ -0,0 +1 @@
+clean org.apache.maven.plugins:maven-assembly-plugin:testing:directory
Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/descriptorDirectoryScan/goals.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/descriptorDirectoryScan/goals.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/descriptorDirectoryScan/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/descriptorDirectoryScan/pom.xml?rev=628856&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/descriptorDirectoryScan/pom.xml (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/descriptorDirectoryScan/pom.xml Mon Feb 18 12:06:17 2008
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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>
+ <parent>
+ <groupId>org.apache.maven.plugin.assembly.test</groupId>
+ <artifactId>it-project-parent</artifactId>
+ <version>1</version>
+ </parent>
+
+ <groupId>org.test</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0</version>
+
+ <name>Parent</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <version>1.0.4</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId><version>testing</version>
+ <configuration>
+ <descriptorSourceDirectory>src/assemble</descriptorSourceDirectory>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/descriptorDirectoryScan/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/descriptorDirectoryScan/pom.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/descriptorDirectoryScan/src/assemble/bin.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/descriptorDirectoryScan/src/assemble/bin.xml?rev=628856&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/descriptorDirectoryScan/src/assemble/bin.xml (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/descriptorDirectoryScan/src/assemble/bin.xml Mon Feb 18 12:06:17 2008
@@ -0,0 +1,16 @@
+
+<assembly>
+ <id>bindir</id>
+ <includeBaseDirectory>false</includeBaseDirectory>
+ <formats>
+ <format>dir</format>
+ </formats>
+ <dependencySets>
+ <dependencySet>
+ <includes>
+ <include>commons-logging:commons-logging</include>
+ </includes>
+ <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
+ </dependencySet>
+ </dependencySets>
+</assembly>
Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/descriptorDirectoryScan/src/assemble/bin.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/descriptorDirectoryScan/src/assemble/bin.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/descriptorDirectoryScan/src/assemble/readme.txt
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/descriptorDirectoryScan/src/assemble/readme.txt?rev=628856&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/descriptorDirectoryScan/src/assemble/readme.txt (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/descriptorDirectoryScan/src/assemble/readme.txt Mon Feb 18 12:06:17 2008
@@ -0,0 +1 @@
+This file is junk and should not be picked up as a descriptor.
Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/descriptorDirectoryScan/src/assemble/readme.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/descriptorDirectoryScan/src/assemble/readme.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReader.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReader.java?rev=628856&r1=628855&r2=628856&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReader.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReader.java Mon Feb 18 12:06:17 2008
@@ -156,7 +156,8 @@
DirectoryScanner scanner = new DirectoryScanner();
scanner.setBasedir( descriptorSourceDirectory );
- scanner.setIncludes( new String[]{ "**/*" } );
+ scanner.setIncludes( new String[]{ "**/*.xml" } );
+ scanner.addDefaultExcludes();
try
{
Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReaderTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReaderTest.java?rev=628856&r1=628855&r2=628856&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReaderTest.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReaderTest.java Mon Feb 18 12:06:17 2008
@@ -328,9 +328,9 @@
assertNotNull( depSets );
assertEquals( 3, depSets.size() );
- 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() );
+ 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()
@@ -361,9 +361,9 @@
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() );
+ 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() );
}
public void testMergeComponentWithAssembly_ShouldAddOneContainerDescriptorHandlerToExistingListOfTwo()
@@ -395,9 +395,9 @@
assertEquals( 3, result.size() );
Iterator it = result.iterator();
- assertEquals( "one", ((ContainerDescriptorHandlerConfig) it.next()).getHandlerName() );
- assertEquals( "two", ((ContainerDescriptorHandlerConfig) it.next()).getHandlerName() );
- assertEquals( "three", ((ContainerDescriptorHandlerConfig) it.next()).getHandlerName() );
+ assertEquals( "one", ( (ContainerDescriptorHandlerConfig) it.next() ).getHandlerName() );
+ assertEquals( "two", ( (ContainerDescriptorHandlerConfig) it.next() ).getHandlerName() );
+ assertEquals( "three", ( (ContainerDescriptorHandlerConfig) it.next() ).getHandlerName() );
}
// FIXME: Deep merging should take place...
@@ -534,7 +534,9 @@
mockManager.replayAll();
- Assembly result = new DefaultAssemblyReader().readAssembly( sr, "testLocation", configSource );
+ Assembly result = new DefaultAssemblyReader().readAssembly( sr,
+ "testLocation",
+ configSource );
assertEquals( assembly.getId(), result.getId() );
@@ -581,7 +583,9 @@
mockManager.replayAll();
- Assembly result = new DefaultAssemblyReader().readAssembly( sr, "testLocation", configSource );
+ Assembly result = new DefaultAssemblyReader().readAssembly( sr,
+ "testLocation",
+ configSource );
assertEquals( assembly.getId(), result.getId() );
@@ -589,7 +593,7 @@
assertEquals( 1, fileSets.size() );
- assertEquals( "/site", ((FileSet) fileSets.get( 0 )).getOutputDirectory() );
+ assertEquals( "/site", ( (FileSet) fileSets.get( 0 ) ).getOutputDirectory() );
mockManager.verifyAll();
}
@@ -632,7 +636,9 @@
mockManager.replayAll();
- Assembly result = new DefaultAssemblyReader().readAssembly( sr, "testLocation", configSource );
+ Assembly result = new DefaultAssemblyReader().readAssembly( sr,
+ "testLocation",
+ configSource );
assertEquals( assembly.getId(), result.getId() );
@@ -640,7 +646,7 @@
assertEquals( 1, fileSets.size() );
- assertEquals( "/site", ((FileSet) fileSets.get( 0 )).getOutputDirectory() );
+ assertEquals( "/site", ( (FileSet) fileSets.get( 0 ) ).getOutputDirectory() );
mockManager.verifyAll();
}
@@ -702,7 +708,9 @@
mockManager.replayAll();
- Assembly result = new DefaultAssemblyReader().readAssembly( sr, "testLocation", configSource );
+ Assembly result = new DefaultAssemblyReader().readAssembly( sr,
+ "testLocation",
+ configSource );
assertEquals( assembly.getId(), result.getId() );
@@ -710,7 +718,7 @@
assertEquals( 1, fileSets.size() );
- assertEquals( "/dir", ((FileSet) fileSets.get( 0 )).getDirectory() );
+ assertEquals( "/dir", ( (FileSet) fileSets.get( 0 ) ).getDirectory() );
mockManager.verifyAll();
}
@@ -772,7 +780,9 @@
mockManager.replayAll();
- Assembly result = new DefaultAssemblyReader().readAssembly( sr, "testLocation", configSource );
+ Assembly result = new DefaultAssemblyReader().readAssembly( sr,
+ "testLocation",
+ configSource );
assertEquals( assembly.getId(), result.getId() );
@@ -818,7 +828,9 @@
mockManager.replayAll();
- Assembly result = new DefaultAssemblyReader().readAssembly( sr, "testLocation", configSource );
+ Assembly result = new DefaultAssemblyReader().readAssembly( sr,
+ "testLocation",
+ configSource );
assertEquals( "group-assembly", result.getId() );
@@ -844,7 +856,8 @@
configSourceControl.setReturnValue( basedir, MockControl.ZERO_OR_MORE );
configSource.getProject();
- configSourceControl.setReturnValue( new MavenProject( new Model() ), MockControl.ZERO_OR_MORE );
+ configSourceControl.setReturnValue( new MavenProject( new Model() ),
+ MockControl.ZERO_OR_MORE );
configSource.isSiteIncluded();
configSourceControl.setReturnValue( false, MockControl.ZERO_OR_MORE );
@@ -862,7 +875,8 @@
mockManager.replayAll();
- Assembly result = new DefaultAssemblyReader().getAssemblyFromDescriptorFile( assemblyFile, configSource );
+ Assembly result = new DefaultAssemblyReader().getAssemblyFromDescriptorFile( assemblyFile,
+ configSource );
assertEquals( assembly.getId(), result.getId() );
@@ -878,14 +892,16 @@
configSourceControl.setReturnValue( basedir, MockControl.ZERO_OR_MORE );
configSource.getProject();
- configSourceControl.setReturnValue( new MavenProject( new Model() ), MockControl.ZERO_OR_MORE );
+ configSourceControl.setReturnValue( new MavenProject( new Model() ),
+ MockControl.ZERO_OR_MORE );
configSource.isSiteIncluded();
configSourceControl.setReturnValue( false, MockControl.ZERO_OR_MORE );
mockManager.replayAll();
- Assembly result = new DefaultAssemblyReader().getAssemblyForDescriptorReference( "bin", configSource );
+ Assembly result = new DefaultAssemblyReader().getAssemblyForDescriptorReference( "bin",
+ configSource );
assertEquals( "bin", result.getId() );
@@ -907,7 +923,7 @@
List files = writeAssembliesToFile( Collections.singletonList( assembly ), basedir );
- String assemblyFile = ( String ) files.get( 0 );
+ String assemblyFile = (String) files.get( 0 );
List assemblies = performReadAssemblies( basedir, assemblyFile, null, null, null, null );
@@ -951,7 +967,12 @@
List files = writeAssembliesToFile( assemblies, basedir );
- List results = performReadAssemblies( basedir, null, null, (String[]) files.toArray( new String[0] ), null, null );
+ List results = performReadAssemblies( basedir,
+ null,
+ null,
+ (String[]) files.toArray( new String[0] ),
+ null,
+ null );
assertNotNull( results );
assertEquals( 2, results.size() );
@@ -970,7 +991,10 @@
{
File basedir = fileManager.createTempDir();
- List assemblies = performReadAssemblies( basedir, null, null, null, new String[] { "bin", "src" }, null );
+ List assemblies = performReadAssemblies( basedir, null, null, null, new String[] {
+ "bin",
+ "src"
+ }, null );
assertNotNull( assemblies );
assertEquals( 2, assemblies.size() );
@@ -1015,7 +1039,41 @@
assertEquals( assembly2.getId(), result2.getId() );
}
- private List writeAssembliesToFile( List assemblies, File dir )
+ public void testReadAssemblies_ShouldGetTwoAssemblyDescriptorsFromDirectoryWithThreeFiles()
+ throws IOException, AssemblyReadException, InvalidAssemblerConfigurationException
+ {
+ Assembly assembly1 = new Assembly();
+ assembly1.setId( "test" );
+
+ Assembly assembly2 = new Assembly();
+ assembly2.setId( "test2" );
+
+ List assemblies = new ArrayList();
+ assemblies.add( assembly1 );
+ assemblies.add( assembly2 );
+
+ File basedir = fileManager.createTempDir();
+
+ writeAssembliesToFile( assemblies, basedir );
+
+ fileManager.createFile( basedir, "readme.txt", "This is just a readme file, not a descriptor." );
+
+ List results = performReadAssemblies( basedir, null, null, null, null, basedir );
+
+ assertNotNull( results );
+ assertEquals( 2, results.size() );
+
+ Assembly result1 = (Assembly) assemblies.get( 0 );
+
+ assertEquals( assembly1.getId(), result1.getId() );
+
+ Assembly result2 = (Assembly) assemblies.get( 1 );
+
+ assertEquals( assembly2.getId(), result2.getId() );
+ }
+
+ private List writeAssembliesToFile( List assemblies,
+ File dir )
throws IOException
{
List files = new ArrayList();
@@ -1043,8 +1101,12 @@
return files;
}
- private List performReadAssemblies( File basedir, String descriptor, String descriptorRef, String[] descriptors,
- String[] descriptorRefs, File descriptorDir )
+ private List performReadAssemblies( File basedir,
+ String descriptor,
+ String descriptorRef,
+ String[] descriptors,
+ String[] descriptorRefs,
+ File descriptorDir )
throws AssemblyReadException, InvalidAssemblerConfigurationException
{
configSource.getDescriptor();
@@ -1066,7 +1128,8 @@
configSourceControl.setReturnValue( basedir, MockControl.ZERO_OR_MORE );
configSource.getProject();
- configSourceControl.setReturnValue( new MavenProject( new Model() ), MockControl.ZERO_OR_MORE );
+ configSourceControl.setReturnValue( new MavenProject( new Model() ),
+ MockControl.ZERO_OR_MORE );
configSource.isSiteIncluded();
configSourceControl.setReturnValue( false, MockControl.ZERO_OR_MORE );