[ https://issues.apache.org/jira/browse/MNG-5387?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Christian Schulte updated MNG-5387: ----------------------------------- Affects Version/s: 3.2.3 > Add ability to replace an artifact in mid-build > ----------------------------------------------- > > Key: MNG-5387 > URL: https://issues.apache.org/jira/browse/MNG-5387 > Project: Maven > Issue Type: Bug > Components: Artifacts and Repositories > Affects Versions: 3.1.0-alpha-1, 3.2.3 > Reporter: Benson Margulies > Assignee: Benson Margulies > Fix For: 3.1.0-alpha-1 > > > 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 was sent by Atlassian JIRA (v6.3.4#6332)