Author: jdcasey Date: Tue Sep 21 22:30:48 2010 New Revision: 999673 URL: http://svn.apache.org/viewvc?rev=999673&view=rev Log: [MASSEMBLY-220] Verify that wildcard vs. enumerated includes in a dependencySet render the same results.
Added: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/enum/ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/enum/pom.xml (with props) maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/enum/src/ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/enum/src/main/ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/enum/src/main/assembly/ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/enum/src/main/assembly/bin.xml (with props) maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/pom.xml (with props) maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/verify.bsh (with props) maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/wildcard/ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/wildcard/pom.xml (with props) maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/wildcard/src/ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/wildcard/src/main/ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/wildcard/src/main/assembly/ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/wildcard/src/main/assembly/bin.xml (with props) Added: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/enum/pom.xml URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/enum/pom.xml?rev=999673&view=auto ============================================================================== --- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/enum/pom.xml (added) +++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/enum/pom.xml Tue Sep 21 22:30:48 2010 @@ -0,0 +1,47 @@ +<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>test</groupId> + <artifactId>parent</artifactId> + <version>1</version> + </parent> + + <artifactId>enum</artifactId> + + <dependencies> + <dependency> + <groupId>org.mule</groupId> + <artifactId>mule-core</artifactId> + <version>1.4.1</version> + </dependency> + <dependency> + <groupId>org.mule.transports</groupId> + <artifactId>mule-transport-vm</artifactId> + <version>1.4.1</version> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <executions> + <execution> + <id>assembly</id> + <phase>package</phase> + <goals> + <goal>single</goal> + </goals> + <configuration> + <descriptors> + <descriptor>src/main/assembly/bin.xml</descriptor> + </descriptors> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/enum/pom.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/enum/src/main/assembly/bin.xml URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/enum/src/main/assembly/bin.xml?rev=999673&view=auto ============================================================================== --- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/enum/src/main/assembly/bin.xml (added) +++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/enum/src/main/assembly/bin.xml Tue Sep 21 22:30:48 2010 @@ -0,0 +1,17 @@ +<assembly> + <id>bin</id> + <formats> + <format>jar</format> + </formats> + <includeBaseDirectory>false</includeBaseDirectory> + <dependencySets> + <dependencySet> + <outputDirectory>/</outputDirectory> + <unpack>true</unpack> + <includes> + <include>org.mule:mule-core</include> + <include>org.mule.transports:mule-transport-vm</include> + </includes> + </dependencySet> + </dependencySets> +</assembly> Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/enum/src/main/assembly/bin.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/pom.xml URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/pom.xml?rev=999673&view=auto ============================================================================== --- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/pom.xml (added) +++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/pom.xml Tue Sep 21 22:30:48 2010 @@ -0,0 +1,22 @@ +<?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>test</groupId> + <artifactId>parent</artifactId> + <packaging>pom</packaging> + <version>1</version> + + <!-- <properties><testVersion>2.2-beta-5</testVersion></properties> --> + <!-- <properties><testVersion>2.2-beta-6-SNAPSHOT</testVersion></properties> --> + + <modules> + <module>enum</module> + <module>wildcard</module> + </modules> +</project> Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/pom.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/verify.bsh URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/verify.bsh?rev=999673&view=auto ============================================================================== --- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/verify.bsh (added) +++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/verify.bsh Tue Sep 21 22:30:48 2010 @@ -0,0 +1,83 @@ +import java.io.*; +import java.util.*; +import java.util.jar.*; + +boolean result = true; + +try +{ + File f1 = new File( basedir, "enum/target/enum-1-bin.jar" ); + File f2 = new File( basedir, "wildcard/target/wildcard-1-bin.jar" ); + + JarFile jf1 = new JarFile( f1 ); + JarFile jf2 = new JarFile( f2 ); + + for( Enumeration e = jf1.entries(); e.hasMoreElements(); ) + { + JarEntry entry1 = (JarEntry) e.nextElement(); + JarEntry entry2 = (JarEntry) jf2.getEntry( entry1.getName() ); + + if ( entry2 == null ) + { + System.out.println( "Missing entry: " + entry1.getName() + " in " + f2 ); + result = false; + } + } + + for( Enumeration e = jf2.entries(); e.hasMoreElements(); ) + { + JarEntry entry2 = (JarEntry) e.nextElement(); + JarEntry entry1 = (JarEntry) jf2.getEntry( entry2.getName() ); + + if ( entry1 == null ) + { + System.out.println( "Missing entry: " + entry2.getName() + " in " + f1 ); + result = false; + } + + if ( !entry1.isDirectory() ) + { + if ( entry2.isDirectory() ) + { + System.out.println( "One file is directory, the other a file! Entry: " + entry2.getName() ); + result = false; + } + else + { + ByteArrayOutputStream b1 = new ByteArrayOutputStream(); + + InputStream in = jf1.getInputStream( entry1 ); + byte[] buf = new byte[1024]; + int read = -1; + + while( ( read = in.read( buf ) ) > -1 ) + { + b1.write( buf, 0, read ); + } + + ByteArrayOutputStream b2 = new ByteArrayOutputStream(); + + in = jf2.getInputStream( entry2 ); + read = -1; + + while( ( read = in.read( buf ) ) > -1 ) + { + b2.write( buf, 0, read ); + } + + if ( !Arrays.equals( b1.toByteArray(), b2.toByteArray() ) ) + { + System.out.println( "Entries are not equal! Entry name: " + entry2.getName() ); + result = false; + } + } + } + } +} +catch ( IOException e ) +{ + e.printStackTrace(); + result = false; +} + +return result; Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/verify.bsh ------------------------------------------------------------------------------ svn:eol-style = native Added: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/wildcard/pom.xml URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/wildcard/pom.xml?rev=999673&view=auto ============================================================================== --- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/wildcard/pom.xml (added) +++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/wildcard/pom.xml Tue Sep 21 22:30:48 2010 @@ -0,0 +1,47 @@ +<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>test</groupId> + <artifactId>parent</artifactId> + <version>1</version> + </parent> + + <artifactId>wildcard</artifactId> + + <dependencies> + <dependency> + <groupId>org.mule</groupId> + <artifactId>mule-core</artifactId> + <version>1.4.1</version> + </dependency> + <dependency> + <groupId>org.mule.transports</groupId> + <artifactId>mule-transport-vm</artifactId> + <version>1.4.1</version> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <executions> + <execution> + <id>assembly</id> + <phase>package</phase> + <goals> + <goal>single</goal> + </goals> + <configuration> + <descriptors> + <descriptor>src/main/assembly/bin.xml</descriptor> + </descriptors> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/wildcard/pom.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/wildcard/src/main/assembly/bin.xml URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/wildcard/src/main/assembly/bin.xml?rev=999673&view=auto ============================================================================== --- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/wildcard/src/main/assembly/bin.xml (added) +++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/wildcard/src/main/assembly/bin.xml Tue Sep 21 22:30:48 2010 @@ -0,0 +1,17 @@ +<assembly> + <id>bin</id> + <formats> + <format>jar</format> + </formats> + <includeBaseDirectory>false</includeBaseDirectory> + <dependencySets> + <dependencySet> + <outputDirectory>/</outputDirectory> + <unpack>true</unpack> + <includes> + <include>org.mule:*</include> + <include>org.mule.transports:*</include> + </includes> + </dependencySet> + </dependencySets> +</assembly> Propchange: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/depSet-enum-vs-wildcard/wildcard/src/main/assembly/bin.xml ------------------------------------------------------------------------------ svn:eol-style = native