[ 
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


Reply via email to