Issue Details (XML | Word | Printable)

Key: MPDIST-22
Type: Improvement Improvement
Status: Open Open
Priority: Major Major
Assignee: Unassigned
Reporter: Geoffrey De Smet
Votes: 2
Watchers: 2
Operations

If you were logged in you would be able to see more operations.
Maven 1.x Distribution Plugin

Use <dist.bundle> property of dependencies to include dependencies

Created: 03/May/05 09:47 AM   Updated: 18/Dec/06 04:07 AM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Time Tracking:
Not Specified


 Description  « Hide

Currently dist doesn't include any dependencies, but most of the time you 'll want to include most of the dependencies.
This can be done in a ear/war like manner, with a property on the dependencies: <dist.bundle>true</dist.bundle>



thierry lach added a comment - 28/Jul/05 10:09 AM

I've accomplished this with a postGoal against dist:prepare-bin-filesystem. The code could be added directly to the prpare-bin-filesystem goal.

<postGoal name="dist:prepare-bin-filesystem">
<!-- Copy in all referenced jars -->
<j:forEach var="lib" items="${pom.artifacts}">
<j:set var="dep" value="${lib.dependency}"/>
<j:if test="${dep.getProperty('dist.bundle')=='true'}">
<ant:copy todir="${pom.getPluginContext('maven-dist-plugin').getVariable('maven.dist.bin.assembly.dir')}" file="${lib.path}"/>
</j:if>
</j:forEach>
</postGoal>


Xavier de Labouret added a comment - 18/Dec/06 04:07 AM

I second this: it is very sad that you have to use a maven.xml to include the dependencies of an application. Using the jar plugin lets you define the JAR dependencies in the classpath in a standard way. The war plugin lets you bundle dependencies. To be consistent, using the dist plugin should let you bundle some or all the dependencies using the project.xml too.

Without that the work needed to package a standalone app using Maven is heavier, and simply harder for beginners: i believe such a small change would be much appreciated.