(I'm not sure if this has already been discussed on the dev-list, but I can't 
find any related thread)

Plugins that depend on maven-core 2.x will pull in Wagon, which causes unwanted 
behavior (it will superseed the one bundled with Maven for that plugin).

MNG-7020 asks for removing this class, but that would imply that such (old) 
plugin would again have the unwanted behavior in Maven 4.

I don't think we should assume that old plugins aren't used anymore.

There are a couple of options to solve this.

1. Indeed delete WagonExcluder, accept that users of of such old plugin will 
have unwanted behavior without warning

2. Replace WagonExcluder with Maven2Excluded. This would solve one awkward 
fact: for plugins Maven always downloads dependencies of maven, but often an 
older version? Why download, if they are being removed from the classpath 
afterwards due to classworld config[1]?

3. Throw an exception in case Maven2 compatible plugins are being used. This 
will force the user to update those plugins before being able to build the 
project.

4. Keep it as it is, so we will have consistent behavior.

Right now I think option 3 is an elegant way to be able to move forward without 
being blocked by deprecated Maven 2 code. We can assume at least Maven3 
compatible plugins. And it fits in a model of any future release where we can 
define at Maven Core what the minimum required plugin compatibility version is.

WDYT?
Robert

[1] 
https://github.com/apache/maven/blob/master/maven-core/src/main/resources/META-INF/maven/extension.xml

Reply via email to