Le vendredi 23 décembre 2016, 09:32:50 CET Christian Schulte a écrit :
> Am 12/23/16 um 08:16 schrieb Hervé BOUTEMY:
> > Le vendredi 23 décembre 2016, 03:59:17 CET Christian Schulte a écrit :
> >> Am 12/22/16 um 19:14 schrieb Robert Scholte:
> >>> -0.9 for the commandline option, there should be only one truth.
> >> 
> >> +1
> >> 
> >>> Dependency management is way too important, you should not have an
> >>> option
> >>> to choose. Better to agree that we are indeed fixing a bug or that we
> >>> should maintain the current behavior. And that'll take time. I will have
> >>> a
> >>> look at all the related issues which could be controlled by this flag
> >>> and
> >>> find a way to get feedback from more people.
> >> 
> >> -1 for maintaining the current behavior. Issues will get reported over
> >> and over again.
> > 
> > you keep saying that but don't give any other example than MPLUGIN-296 = a
> > failure caused by your purist fix in MRESOLVER-8
> > and you talked about findbugs-maven-plugin, but did not give any pointer
> > 
> > once again, can you give examples of something that MRESOLVER-8 fixes,
> > apart from the logic of exact resolution?
> 
> Why are you questioning making plugin resolution work the same way
> project resolution is performed? I don't get that.
please look at "if it ain't broke, don't fix it" proverb, or "never change a 
running system"

for example at https://en.wiktionary.org/wiki/if_it_ain't_broke,_don't_fix_it

> The bugfix
> immediately uncovered a mistake in a POM of a plugin everyone agrees to
> be a real issue.
no, I don't agree that it is a real issue

> I just verified that selector had that bug right from
> the intial resolver contribution outside Apache so has always been
> there. Right now only the maven-plugin-plugin version 3.4 is affected.
> Version 3.3 and 3.5 are not affected.
I fear it's not only one plugin, but every plugin that applied the 
scope=provided recipe that Maven Plugin Tools Annotations promotes

> The findbugs-maven-plugin issue
> I've been talking about is unrelated to the resolver and is also fixed
> in recent releases.
ok, I don't know why you talked about it if it's not related

[...]

> > I respect logic, since I can imagine that in addition to the case that
> > worked magically, there can be cases that fail magically = not something
> > I want forever.
> > You found a few cases working magically = in fact one recipe based on it,
> > that is still in our documentation [1] as "<!-- annotations are needed
> > only to build the plugin -->").
> > If we didn't find cases failing magically, pressure to change is not the
> > same.
> Things working magically are a recipe for desaster.
disaster didn't happen for years before your work on "fixing" something that 
didn't break: remember to read about "if it ain't broke, don't fix it" proverb, 
it has to be known and respected at least in some cases

> It's just
> unpredictable behaviour presented to be something done intentionally
> although things are just a matter of luck or bad luck.
that's why I try to know if you have reported cases (as you told) of something 
really broken (= something with bad luck)
IIUC, you don't have any case of bad luck

> Especially when a
> lot of the POMs around are a result of trial and error. Maven should
> have produced an error but did not "magically". Chances are great
> someone starts applying his findings to each and every project without
> ever noticing things really are not working as intended. We should be
> super sure that this trial and error always leads to valid POMs.
> 
> > And of course, this wrong explanation in our doc should be fixed and
> > explained: I'll work on that (because, remember, I already told I'm
> > supportive of improvements): I opened MPLUGIN-321 [2], please review and
> > improve explanations if necessary = this is the start of something that
> > will also appear in release notes for the version of Maven that will
> > contaning the updated plugin resolution algorithm (we'll see later if
> > it's Maven 3.4.0 or not)
> 
> There is nothing wrong about that documentation. It's a special case
> with the maven-plugin-plugin. Only that plugin must not use "provided"
> for the annotations because that plugin is what needs them at runtime.
> It is the provider itself. Other plugins should in fact use "provided"
> because the annotations are provided by maven-plugin-plugin and not used
> by anything else.
ok, I start to understand: no, the plugin does not provide the annotations 
dependency (as I wrote in MPLUGIN-321, Maven core uses META-INF/maven/
plugin.xml) but this is one of the rare case where a dependency is simply *not 
used* at runtime...


Ok, I now understand the real impact on plugins: no impact in general, only 
maven-plugin-plugin is impacted because it uses annotations to extract 
information from bytecode to generate META-INF/maven/plugin.xml

I'll improve MPLUGIN-296 description, which is currently at least not clear at 
all (which I knew but could not get any useful answer)

But at least, now, I think I better imagine the impact of this bugfix of a bug 
that nobody noticed: it just breaks maven-plugin-plugin, which is an edge case 
of the bugfix edge case.
I feel more confident now on this one

let's move on evaluating other changes currently in 3.4.0-SNAPSHOT

Regards,

Hervé

> 
> 
> Regards,



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

Reply via email to