Hello everyone, I have a project org.myapp:proj which is a jar artifact. This project is configured to use maven-assembler-plugin to create a custom artifact (let's say proj-client1.jar). The descriptor configuration xml (let's call it client1-assembler.xml) used for this assembler plugin looks like this:
<?xml version="1.0" encoding="UTF-8"?> <assembly 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/xsd/assembly-1.0.0.xsd" > <id>clien1</id> <formats> <format>jar</format> </formats> <includeBaseDirectory>false</includeBaseDirectory> <fileSets> <fileSet> <directory>src/main/resources</directory> <excludes> <exclude>blah.xml</exclude> </excludes> <outputDirectory>packages</outputDirectory> </fileSet> </fileSets> <dependencySets> <dependencySet> <outputFileNameMapping>${artifactId}.${extension}</outputFileNameMapping> <includes> <include>ant-contrib:ant-contrib</include> <include>org.myapp.abc:xyz:jar</include> Now for this same project i need to generate another artifact proj-client2.jar which does the exact same thing as the descriptor in client1 *and also* adds its own set of libraries in the resultant artifact. So a very simple way to achieve this would be to copy-paste the contents of the client1-assembler.xml and create a client2-assembler.xml. The client2-assembler.xml will then also have its own custom configurations. The assembler plugin can then use this as: <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>2.2-beta-1</version> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> <configuration> <descriptors> <descriptor>src/main/resources/client1-assembler.xml</descriptor> <descriptor>src/main/resources/client2-assembler.xml</descriptor> </descriptors> However, copy/paste from client1-assembler.xml to client2-assembler.xml just leads to duplicacy and maintenance nightmare (someone would have to ensure that whatever changes happen to client1-assembler.xml is applied manually even to client2-assembler.xml). Is there a way i can avoid this duplicacy? Something on the lines of client2-assembler.xml "referencing" or "inheriting" from client1-assembler.xml. Is this possible or anything similar? -- View this message in context: http://www.nabble.com/Maven-assembler-plugin---How-to-avoid-duplicating-configurations-in-assembler-descriptors--tp25821854p25821854.html Sent from the Maven - Users mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
