[ http://jira.codehaus.org/browse/MASSEMBLY-133?page=all ]
Alexis Midon closed MASSEMBLY-133.
----------------------------------
Resolution: Duplicate
duplicate of issue 117
> Assembly including binaries: Bug on a n depth hierarchy
> -------------------------------------------------------
>
> Key: MASSEMBLY-133
> URL: http://jira.codehaus.org/browse/MASSEMBLY-133
> Project: Maven 2.x Assembly Plugin
> Issue Type: Bug
> Affects Versions: 2.1
> Environment: Maven 2.0.4
> Reporter: Alexis Midon
> Priority: Critical
> Attachments: AbstractAssemblyMojo.java
>
>
> Considering the following complex but common pom hierarchy (sample) :
> The syntax is packaging:pom:level.#
> pom:pom0.0
> /\
> / \
> / \
> / \
> / \
> jar:pom1.0 pom:pom1.1
> /\
> / \
> / \
> / \
> / \
> jar:pom2.0 jar:pom2.1
> I'd like to use the assembly plugin to gather all the output jars in a single
> directory.
> (So every child/target/artifact.jar must copy to root/target/assembly/...)
> To do so I execute the assemby:assembly goal with the following descriptor :
> <assembly>
> <id>collect-alljars</id>
> <formats>
> <format>dir</format>
> </formats>
> <includeBaseDirectory>false</includeBaseDirectory>
> <moduleSets>
> <moduleSet>
> <binaries>
> <unpack>false</unpack>
> </binaries>
> </moduleSet>
> </moduleSets>
> </assembly>
> Unfortunately this always fails into an exception: "pom:pom1.1 does not have
> an artifact with a file. Please ensure the package phase (...)"
> This use case highlights 2 problems I think:
> 1. the assembly plugin does not support n depth hierarchy
> Actually pom:pom1.1 should be included in the module list but
> jar:pom2.0 and jar:pom2.1 should be too!
> 2. the <binaries/> tag must not throw an exception if there is no file,
> distonction on packaging type sounds necessary
> To understand what's going on with bug #1, I decided to debug the plugin.
> The problem occurs in AbstractAssemblyMojo.processModules (...) line 471
> The getModulesFromReactor() method is invoked but with recurse set to false!
> As a result when jar:pom2.0 is tested, the isProjectModule() method returns
> false, which is not correct (in our case).
> May be 'recurse' could be a plugin parameter?
> The patch is delimited by // PATCH BEGIN/END, modif on lines 470 and 514.
--
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