[
http://jira.codehaus.org/browse/MASSEMBLY-190?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
John Casey closed MASSEMBLY-190.
--------------------------------
Resolution: Fixed
Changed code to pre-collect dependencies that will need to be resolved for one
or more dependencySets/moduleSets in the assembly, then use the versions from
this pre-collection activity in the form of a managed-version map, with one
exception: the versions will be imposed on direct dependencies as well.
Also, I separated ${module.*} expressions from ${artifact.*} expressions, so
that in a moduleSet/binaries section,
{noformat}
<outputDirectory>${module.artifactId}</outputDirectory>
{noformat}
can remain constant for a given module project, while
{noformat}
<outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
{noformat}
can vary according to the module-dependency artifact being processed.
In addition, I'm adding unit tests for the DefaultDependencyResolver methods
(other than resolveDependencies(..), which will require more involved
mock-ups), and an integration test to verify that MASSEMBLY-190 is fixed.
> Problem with dependency conflict resolution on multi-module project
> -------------------------------------------------------------------
>
> Key: MASSEMBLY-190
> URL: http://jira.codehaus.org/browse/MASSEMBLY-190
> Project: Maven 2.x Assembly Plugin
> Issue Type: Bug
> Affects Versions: 2.2-beta-3
> Environment: Using maven 2.0.5 and assembly 2.2-SNAPSHOT
> Reporter: Frédéric ESNAULT
> Assignee: John Casey
> Fix For: 2.2-beta-3
>
>
> Hi,
> I'm trying to use the assembly plugin to gather all the jars of my project,
> including all dependencies.
> As the project is composed of several modules, I use a descriptor which looks
> like this :
> <assembly>
> <id>bin</id>
> <formats>
> <format>zip</format>
> </formats>
> <includeBaseDirectory>false</includeBaseDirectory>
> <moduleSets>
> <moduleSet>
> <binaries>
> <outputDirectory>/</outputDirectory>
> <unpack>false</unpack>
> <includeDependencies>true</includeDependencies>
> </binaries>
> </moduleSet>
> </moduleSets>
> </assembly>
> It seems to work fine at first sight - it creates a zip containing all the
> jar files. However, I find in the archive several instances of the same
> dependency with differents versions, for instance asm-1.5.3 and asm-2.2.3.
> This is a surprise as maven is supposed to take care of conflict resolution.
> When I look at a detailed trace, it appears that conflict resolution is done
> but on each module independently. But my modules are intended to work
> together and I expect to get an assembly with only one version of each
> dependency found on the whole set of mudules. It seems to me that conflict
> resolution is not managed properly in this use case.
--
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