[ http://jira.codehaus.org/browse/MOJO-539?page=comments#action_81477 ] Kristian Nordal commented on MOJO-539: --------------------------------------
Configurable repository name and flat repository layout implemented. A new mojo for the creation of the repository/lib directory has been implemented - so it will become optional (when we move the functionality out of the AssembleMojo). Thanks! > [appassembler] collaborating with maven-assembly-plugin > ------------------------------------------------------- > > Key: MOJO-539 > URL: http://jira.codehaus.org/browse/MOJO-539 > Project: Mojo > Issue Type: Improvement > Reporter: Mathieu Champlon > Assigned To: Kristian Nordal > Attachments: MOJO-539-1.patch, MOJO-539-2.patch, MOJO-539-3.patch > > > I find the appassembler-maven-plugin really valuable, especially since I was > just about to start manually writing my own bat/sh scripts... > However I wonder if this plugin does not partly overlap with the > maven-assembly-plugin [1] or the dependency-maven-plugin [2]. > Maybe appassembler should be only about generating scripts and be able to > collaborate with the other plugins for the remaining part ? > My requirement was to have appassembler manage the following layout : > . bin/ scripts > . lib/ all jars > Thus a good old flat distribution (like maven itself for example). > The maven-assembly-plugin is already able to handle the 'lib/' part and I was > looking for a solution to have appassembler collaborate with it. > I realized this was not exactly possible because of the way appassembler > outputs artifacts to a repository. > So I patched it : > . the first step was to add a 'repositoryName' configuration variable in > order to be able to customize the hard-coded "repo" (so I can set it to "lib" > instead). > . the next step was to add a 'flat' repositoryLayout that would install all > the artifacts in the "repo" root directory. > . the last step was to add a 'installArtifacts' boolean configuration flag > to be able not to generate the "repo" (this feature is actually not really > mandatory). > Therefore I was able to achieve my goal by combining appassembler with the > assembly plugin : appassembler only creates "bin" scripts which are then > included in the assembly process. > Here is what my pom looks like : > <plugin> > <groupId>org.codehaus.mojo</groupId> > <artifactId>appassembler-maven-plugin</artifactId> > <configuration> > <repositoryLayout>flat</repositoryLayout> > <repositoryName>lib</repositoryName> > <installArtifacts>false</installArtifacts> > <programs> > <program> > <mainClass>com.mycompany.app.App</mainClass> > <name>app</name> > </program> > </programs> > </configuration> > <executions> > <execution> > <phase>package</phase> > <goals> > <goal>assemble</goal> > </goals> > </execution> > </executions> > </plugin> > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-jar-plugin</artifactId> > </plugin> > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-assembly-plugin</artifactId> > <configuration> > <descriptors> > <descriptor>assembly.xml</descriptor> > </descriptors> > </configuration> > <executions> > <execution> > <phase>package</phase> > <goals> > <goal>assembly</goal> > </goals> > </execution> > </executions> > </plugin> > And the assembly.xml configuration file : > <assembly> > <id>bin</id> > <formats> > <format>tar.gz</format> > <format>tar.bz2</format> > <format>zip</format> > </formats> > <fileSets> > <fileSet> > <directory>target/appassembler/bin</directory> > <outputDirectory>bin</outputDirectory> > </fileSet> > </fileSets> > <dependencySets> > <dependencySet> > <outputDirectory>lib</outputDirectory> > </dependencySet> > </dependencySets> > </assembly> > [1] http://maven.apache.org/plugins/maven-assembly-plugin/introduction.html > [2] http://mojo.codehaus.org/dependency-maven-plugin/introduction.html -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe from this list please visit: http://xircles.codehaus.org/manage_email
