[ http://jira.codehaus.org/browse/MNG-4761?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
John Casey updated MNG-4761: ---------------------------- Fix Version/s: 3.0-beta-3 > Plugin-level dependency scope causes some plugin classpaths to be incorrect > --------------------------------------------------------------------------- > > Key: MNG-4761 > URL: http://jira.codehaus.org/browse/MNG-4761 > Project: Maven 2 & 3 > Issue Type: Bug > Components: Artifacts and Repositories, Plugins and Lifecycle > Affects Versions: 2.2.1, 3.0-beta-1, 3.0-beta-2 > Reporter: John Casey > Assignee: John Casey > Fix For: 3.0-beta-3 > > Attachments: MNG-4761-mvn3b2.patch, > MNG-4761-mvn3b2.reformatted.patch, obscured-nearer-dep.zip > > > Plugin-level dependencies should use RUNTIME scope at all times. Using any > other scope may alter the weighting given to the subgraph-choice algorithm > used in transitive dependency resolution. > Plugin-level dependencies use compile scope by default. When transitive > resolution takes place, compile scope takes precedence over runtime scope, > causing the transitive dependency sub-graph of the plugin-level dependency to > be activated over those of the plugin itself. > This happens even when the plugin's transitive dep is NEARER to the top level > than the one brought in by that plugin-level dependency itself. > The result is that when a dep that's farther away is chosen over a nearer > one, it can then be disabled by Maven choosing to disable its parent dep (the > one that brought it in) in another part of the transitive resolution process. > This is a very subtle case where Maven is doing the wrong thing. The attached > test case should make it clearer. -- 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