[ https://jira.codehaus.org/browse/MNG-5387?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Benson Margulies closed MNG-5387. --------------------------------- Resolution: Fixed Fix Version/s: 3.1.0 Integration test in 1413359. > Add ability to replace an artifact in mid-build > ----------------------------------------------- > > Key: MNG-5387 > URL: https://jira.codehaus.org/browse/MNG-5387 > Project: Maven 2 & 3 > Issue Type: Bug > Components: Artifacts and Repositories > Affects Versions: 3.1.0 > Reporter: Benson Margulies > Assignee: Benson Margulies > Fix For: 3.1.0 > > > To clean up how the shade plugin works, we need an API to allow it to say, > 'please replace the jar file that the jar plugin has given you with this > other one here.' > It turns out we already more or less have this method, due to a collection of > historical conflict. > At some point in time, http://jira.codehaus.org/browse/MNG-3119 called for > Maven to reject more than one call to attach the same artifact to the build. > However, this proved an unacceptable incompatibility at the time. Instead, > under http://jira.codehaus.org/browse/MNG-4013, Maven was changed to log but > otherwise ignore all calls to 'addArtifact' on MavenProject after the first > for a G/A/V/C/T coordinate. > This decision to take 'first wins' instead of 'last wins' doesn't help much > of anyone. It prevents something like shade from intentionally displacing an > earlier execution's results, and while it doesn't produce backtraces, ever, > it can still be entirely confusing. > Under this JIRA, I'm switching to 'last one wins'. This could still be > confusing, and someone might argue that there should be some way to > distinguish casual and incorrect user config that results in two plugins > trying to deliver the same thing from something intentional. On the other > hand, if two plugins are configured to attach the same G/A/V/C, having the > last one win makes more sense, and has the effect of enabling the desired > behavior in shade. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira