TLDR; Most things will still work, but some things will break.
Maven 4 is the preparation for Maven 5, where we will be able to introduce a
new pom model. To keep the Maven eco system stable, it must be possible to
upload model 4.0.0 compatible poms to remote repositories, especially to
Central.
Every plugin that uses the local pom where it should be using the uploaded pom
will fail, think about the plugins that sign. These need to be rewritten.
To support this, huge changes had to be made in the architecture of Maven. This
to proof that we can transform pom files without any impact.
Maven 4 must proof this transforming mechanism, Maven for will be able to
expand and clean up the pom.This is reflected by the following new features for
multimodule projects:
- automatic parent version based on relativePath
- automatic dependency version for reactor dependencies.
- proper ci-friendly versioning
Some other things that might break your build:
- require Java 8
- upgrade of the default versions of the plugins per packaging type
- strict checksum validation
- removal of some deprecated Maven2 commandline flags
- some warnings will now be errors (e.g. duplicate dependencies in your pom.xml)
- removal of release-profile from super-pom
New features:
- maven-wrapper is now part of Maven core. There's a new lifecycle for it ('mvn
wrapper') and a new plugin('maven-wrapper-plugin)
- improved commandline options when working with multimodule projects.
- jansi based console output improvements
This is just a short summary of the release[1], but it should give you an idea
why this version should be called Maven 4.
thanks,
Robert
[1]
https://issues.apache.org/jira/issues/?jql=project%20%3D%20MNG%20AND%20fixVersion%20%3D%204.0.0-alpha-1
On 23-5-2021 11:55:59, Fred Cooke <[email protected]> wrote:
Is there somewhere where I can read about the rationale behind the first
major version bump since I learned M2 15 years ago and what's changed in a
positive but breaking fashion that warranted that bump?
Just the 4 sounds exciting without any context. I hope the context lives up
to it, but 3 has been serving me SO well for such a long time, I'm
skeptical :-D
Introduction of repaint.io tiles as the default parent mechanism, perhaps?
Cheers,
Fred.
PS: Disclaimer: I've not even tried 3.8.2 yet! And only just upgraded my
personal stuff from 3.3.9 to 3.6.3 without any breakage at all.
On Sun, 23 May 2021 at 21:43, Martin Kanters
wrote:
> Hi all,
>
> With MNG-6915 [1] being merged yesterday, all Jansi-related PRs are merged.
> AFAIK there is nothing pressing left for the Maven 4.0.0-alpha-1 release,
> or am I missing something?
>
> Martin
>
> [1] https://issues.apache.org/jira/browse/MNG-6915
>
> Op di 4 mei 2021 om 19:56 schreef Martin Kanters
> >:
>
> > @Guillaume Great, thanks for updating them! I'm processing them as we
> > speak.
> >
> > Martin
> >
> > Op di 4 mei 2021 om 15:13 schreef Michael Osipov :
> >
> >> Am 2021-05-03 um 20:35 schrieb Guillaume Nodet:
> >> > Now that maven-shared-utils has been released, I've rebased my PRs:
> >> > https://github.com/apache/maven/pulls/gnodet
> >>
> >> Darn, I would I could review your quality PRs, still busy with
> Resolver...
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [email protected]
> >> For additional commands, e-mail: [email protected]
> >>
> >>
>