[ 
http://jira.codehaus.org/browse/MNG-3426?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

John Casey closed MNG-3426.
---------------------------

      Assignee: John Casey  (was: nicolas de loof)
    Resolution: Fixed

The move to use LinkedHashSet was definitely correct IMO, but it led to some 
weird side effects for dependency ordering. I've gone back and added a 
pre-processing step using a LinkedHashMap to merge in the plugin-level 
dependencies and those from the plugin-POM itself. I kept the plugin-level deps 
as first to be added, which gives them precedence (so they can replace 
dependencies from the plugin POM), but added code to make sure any duplicates 
according to dependencyConflictId are avoided. This is consistent with 
dependencies in the POM, where duplicates there should lead to a model 
validation exception during project building.

I think this issue can safely be put to bed now.

> regression : <dependency> in plugin configuration doesn't override plugin 
> classpath
> -----------------------------------------------------------------------------------
>
>                 Key: MNG-3426
>                 URL: http://jira.codehaus.org/browse/MNG-3426
>             Project: Maven 2
>          Issue Type: Bug
>          Components: Plugin API
>    Affects Versions: 2.0.8
>            Reporter: nicolas de loof
>            Assignee: John Casey
>            Priority: Critical
>             Fix For: 2.0.9
>
>
> Many maven plugins are wrapper around other tools. The plugin is designed for 
> a version of the tool, and in many case user will want to use a specific 
> version without having to patch the plugin. The <dependency> element on 
> plugin configuration is a common way to do this, by overriding the plugin POM 
> dependency with another version. 
> <plugin>
>    <artifactId>castor-maven-plugin</artifactId>
>    <dependencies>
>        <dependency>
>             <groupId>org.codehaus.castor</groupId>
>             <artifactId>castor</artifactId>
>             <version>VERSION OF CASTOR I WANT TO USE FOR CODE 
> GENERATION</version>
>        </dependency>
>    </dependencies>
> </plugin>
> This used to work with maven < 2.0.8
> In maven 2.0.8, this doesn't work anymore as the <dependency> set in plugin 
> configuration is added to plugin classpath, as a duplicate for the one 
> declared by the plugin but LATER in the classpath (but I may be wrong on this 
> analysis).

-- 
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