thank you Robert: this is exactly the logic I was looking for, and explanation 
of changes over time to improve user experience through reproducibility.

Now the question is: should we change default plugin versions in Maven core?
Does it improve Maven or not?

To me, changing default plugin versions lowers reproducibility.
And it does not help users learn that they should define their own plugin 
versions instead of depending on the magic defaults that have to be included 
in Maven core to permit basic poms.

Then in general, if we have found a bug in a plugin with default version that 
hits users using this default basic poms, we should update the version: good 
default behaviour requirement surpasses reproducibility over Maven version 
expectation.

But if a plugin default version upgrade is just to have newer defaults, IMHO, 
we sacrifice reproducibility and teaching to users that basic poms are just a 
quick start but should soon be extended to manage explicitely plugins 
versions: is there a good reason to sacrifice this? I don't find any good 
reason: the sooner user discovers that he's using old plugins, the better. 

What we should give him are easy to discover and learn recipes to manage his 
plugin versions: for example through a basic neutral parent pom with newest 
plugins, or a BOM pom. Maybe there are other ideas.
Yes, neutral parent pom or BOM pom are to me good ways to improve Maven for 
users: not changing default plugin versions in Maven core.

Do I miss an aspect that should be taken into account?

Regards,

Hervé

Le samedi 13 mai 2017, 23:11:05 CEST Robert Scholte a écrit :
> >> If you are saying that depending on default version is a bad practice it
> >> actually means to me that this should change in the new major.
> >> Shouldn't it?
> > 
> > this is a bad practice from a very long time, even in the Maven 2.x
> > time: what
> > should change more in next Maven version that would show it more, without
> > breaking the magic that these defaults are used to? A warning message
> > proposing to add pluginManagement corresponding to current Maven version
> > used?
> > Or propose a parent pom to add?
> 
> IIRC up until Maven 2.0.8 there were no default plugin version, it was
> always selecting the latest when not specified. This was bad, because a
> new release of a plugin could suddenly make projects fail.
> Since Maven 2.0.9 there we started specifying default values to make
> everything more predictable.
> Right now we're also moving these information to the matching
> packaging-plugin, so the maven-jar-plugins specifies the lifecycle-plugins
> and their versions.
> So in the end we should only specify the packaging-plugins in Maven core.
> Ideally these should not be part of maven-core, but that will it harder to
> start using Maven. For that reason it will be likely that some plugins
> will still need to be specified with the Maven distribution.
> 
> Robert


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

Reply via email to