I'm a bit confused here, why would anyone update Maven plugins in a project
and NOT update Maven Core? Older versions of Maven are EOL, is expected
that Maven Core is backward-compatible on minor releases so updating Maven
Core should be straightforward. I might be missing something but I don't
see a scenario where someone updates plugins but does not update Maven
itself, I would expect the opposite, it should be more common to update
Maven core than plugins (although that is just my perception).

The question remains: Why should we use 3.5.4 instead of 3.6.3 as a minimum
in plugins? don't get me wrong, I don't mind if we use 3.5.4 instead of
3.6.3 if the maintenance/support is the same, but knowing that CI uses
Maven 3.6.3 and newer, and without knowing why plugins should be supported
on 3.5.4, my vote will go to use 3.6.3.

This discussion reminds me of the minimum required Java version, there was
even an informal poll
<https://twitter.com/khmarbaise/status/1549429653202518016> with more than
80% asking for newer Java releases, and I would love to see Maven 4.0
require at least Java 11, but here we are, one year later and still on Java
8 because some prefer to be working with Java 7 or even Java 6. The
ecosystem is moving forward, SpringBoot, Quarkus, Jakarta EE, and some
dependencies are slowly moving to at least Java 11, if a project requires
Java 8 (for whatever reason), then it will remain on Maven 3.x, moving to
Java 11 is conservative enough for Maven 4.0.

Regards.


On Sat, Dec 30, 2023 at 1:54 PM Michael Osipov <micha...@apache.org> wrote:

> Am 2023-12-30 um 11:42 schrieb Slawomir Jaranowski:
> > sob., 30 gru 2023 o 10:43 Michael Osipov <micha...@apache.org>
> napisał(a):
> >
> >> Am 2023-12-30 um 09:24 schrieb Slawomir Jaranowski:
> >>> pt., 29 gru 2023 o 18:40 Michael Osipov <micha...@apache.org>
> >> napisał(a):
> >>>
> >>>> Am 2023-12-29 um 14:42 schrieb Slawomir Jaranowski:
> >>>>> Hi,
> >>>>>
> >>>>> Last year we mark all Maven versions 3.6.x and older as EOL [1]
> >>>>>
> >>>>> But we still try to support minimal API version for Core Maven
> Plugins
> >> as
> >>>>> 3.2.5
> >>>>>
> >>>>> I would like to  propose to sich it for at least to 3.6.3
> >>>>>
> >>>>> Reasonable reasons: (for me)
> >>>>>     - for standard CI build we use Maven 3.6.3 and newer
> >>>>>     - many of external plugins, like MojoHaus are switched to 3.6.3
> >>>>>     - we have a hacks in code to try support old version in plugin,
> like
> >>>>> in: EnhancedPluginDescriptorBuilder in plugin-tools [2], we can
> cleanup
> >>>>> such code
> >>>>> - I don't believe to someone want to do more fixes for EOL Maven
> >> version
> >>>> in
> >>>>> plugins - so we should be a honest for users
> >>>>> - and we should go forward
> >>>>>
> >>>>> [1] https://maven.apache.org/docs/history.html
> >>>>> [2]
> >>>>>
> >>>>
> >>
> https://github.com/apache/maven-plugin-tools/blob/master/maven-plugin-report-plugin/src/main/java/org/apache/maven/plugins/plugin/descriptor/EnhancedPluginDescriptorBuilder.java
> >>>>>
> >>>>
> >>>> I remember that we had a discussion that the next base/API version
> >>>> should be 3.5.4 because it is the first version using
> >>>> org.apache.maven.resolver:maven-resolver-api [1]. Please don't confuse
> >>>> API compat with maintenance/support for a specific Maven version. I
> >>>> believe that we have made this clear more than once.
> >>>>
> >>>> Is thre anything specific fixed in 3.6.3 behavior you consider crucial
> >>>> which makes maintenance easier than with 3.5.4?
> >>>>
> >>>>
> >>> I remember the discussion ... and next year we are still on 3.2.5
> >>>
> >>> I can not a list what was exactly improved in 3.6.3 against to 3.5.4,
> >> but I
> >>> see in mentioned code
> >>>
> >>>    // clear() is required for maven < 3.6.2
> >>>    mojoDescriptor.getParameters().clear();
> >>
> >> This one is moot and incorrect. I will change the comment. The real
> >> improvement has been done by Tamás in 4.0.0-alpha-1:
> >>
> >>
> https://github.com/apache/maven/commit/cc51006f2973356a1046ae0757325d5e9be75327
> >>
> >>> So my question is:
> >>>
> >>> Why should we use 3.5.4 instead of 3.6.4 as minimum in plugins?
> >>
> >> If you can provide some real examples where 3.6.x is better/easier I
> >> will happily accept it.
> >>
> >>
> > There is https://github.com/apache/maven-help-plugin/pull/45
>
> I am aware of this one, but m-help-p isn't a core plugin, nor bound to a
> lifecycle phase. For me, this is out of the ordinary.
>
> Let's make a compromise: I'd expect that you provide a list of all
> plugins you consider core ones and this will be announced on dev@ that
> in X weeks we will switch. Before the switch if there are open releases
> they should be released and the switch will be done with a minor version
> bump.
> With that people can raise voice/prepare for the change.
>
> M
>

Reply via email to