Hi, I have a multi-module project (test-project) and I'm using a "assembler module" (testB) to build an output bundle as described in the docs. One of my modules produces a jar file of resources (testA). The assembler module needs to extract some of the files from that zip into a destination file structure. For example, in the jar from testA is:
env/bin/test.sh and I want the file test.sh to end up in a zip archive, in a directory called bin like this: bin/test.sh but it ends up being put in bin/env/bin/test.sh instead because the unpacker is unpacking the existing structure into the new structure. I haven't found a way to tell the unpacker to ignore the source directory structure when adding the file to the destination archive. Is there an easy or alternative way to do this? I have included the poms below that reproduce the "problem". If you run mvn package on the test-project pom, the resulting testB-1.0-test-bundle-B.zip will have the contents I described. Thanks in advance, Jeff pom.xml for test-project ----------------- <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-group</groupId> <artifactId>test-project</artifactId> <packaging>pom</packaging> <version>1.0</version> <name>test-project</name> <url>http://maven.apache.org</url> <modules> <module>testA</module> <module>testB</module> </modules> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.0.2</version> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> </plugins> </pluginManagement> </build> </project> pom.xml for testB ----------------- <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-group</groupId> <artifactId>testA</artifactId> <packaging>jar</packaging> <version>1.0</version> <name>testA</name> <url>http://maven.apache.org</url> <parent> <groupId>test-group</groupId> <artifactId>test-project</artifactId> <version>1.0</version> </parent> </project> pom.xml for testB ----------------- <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-group</groupId> <artifactId>testB</artifactId> <packaging>jar</packaging> <version>1.0</version> <name>testB</name> <url>http://maven.apache.org</url> <parent> <groupId>test-group</groupId> <artifactId>test-project</artifactId> <version>1.0</version> </parent> <dependencies> <dependency> <groupId>test-group</groupId> <artifactId>testA</artifactId> <version>1.0</version> </dependency> </dependencies> <build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>2.2-beta-5</version> <executions> <execution> <id>test-execution</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <descriptors> <descriptor>test-assembly.xml</descriptor> </descriptors> </configuration> </execution> </executions> </plugin> </plugins> </build> </project> test-assembly.xml ------------------ <assembly> <id>test-bundle-B</id> <includeBaseDirectory>false</includeBaseDirectory> <formats> <format>zip</format> </formats> <dependencySets> <dependencySet> <outputDirectory>/bin</outputDirectory> <fileMode>0755</fileMode> <includes> <include>test-group:testA:jar</include> </includes> <unpack>true</unpack> <unpackOptions> <includes> <include>env/bin/test.sh</include> </includes> </unpackOptions> </dependencySet> </dependencySets> </assembly>
