[ 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