thank you for these explanations: I'll have a deep look tonight

Regards,

Hervé

Le lundi 19 décembre 2016, 04:12:01 CET Christian Schulte a écrit :
> Am 12/19/16 um 03:39 schrieb Christian Schulte:
> > Am 12/18/16 um 10:19 schrieb Hervé BOUTEMY:
> >  You know what? We want also that libraries classpath are consistent
> > 
> > when built
> > 
> >> and when used as dependencies: nothing specific to plugins and core
> >> extensions. Everything is built some time then used.
> >> If there are some unexpected discrepencies, we have an issue.
> > 
> > That may well be! You can take
> > <https://issues.apache.org/jira/browse/MPLUGIN-296> as an example
> > demonstrating the difference. You just need a maven-plugin project to
> > build using the maven-plugin-plugin-3.4. Build that with Maven < 3.4 and
> > Maven >= 3.4 and compare the different plugin classpaths (-X). You'll
> > notice that in Maven 3.4 a provided direct dependency of the plugin is
> > collected and used to do conflict resolution and everything else and
> > then filtered out during resolving the artifacts. In Maven < 3.4 that
> > provided direct dependency is not collected and so another node (same
> > dependency but transitive) is used to do conflict resolution and
> > everything else which is then not filtered out during resolving the
> > artifacts. Maven 3.4 gets that right. Maybe that's also the way
> > dependencies should be resolved as well.
> 
> Maven 3.4 (project): <http://pastebin.com/tuc1TncQ>
> Maven 3.0.5 (dependency): <http://pastebin.com/W4fJd93B>
> 
> Note that 3.4 collects direct 'test', 'provided' and 'optional'
> dependencies whereas 3.0.5 does not. In 3.4 the conflict resolver selects
> 
> [DEBUG]
> org.apache.maven.plugin-tools:maven-plugin-annotations:jar:3.4:provided
> 
> (nearest) whereas in 3.0.5 the conflict resolver selects
> 
> [DEBUG]
> org.apache.maven.plugin-tools:maven-plugin-annotations:jar:3.4:runtime
> 
> because the nearer provided dependency has not been selected during
> collecting dependencies. This result is passed to the resolver to
> download the corresponding artifacts (jars). That resolver is setup to
> filter out anything non-transitive ever since but it never saw anything
> non-transitive due to the collector not collecting the nodes.
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to