> I am sure the majority of Maven users do not run Maven on the same Java
version they target with their build.

Do you use that and the following figures to do a biased conclusion?

"If people don't use the same version then we can higher the version"?

I think we need to consider two things:

* We are OSS dev so not representative of the majority - in a company you
most of the time use the same version you target and want to run that, just
either laziness, policy or quality (building with different versions can
lead to surprises and falsy passing tests = broken prod), sadly it is hard
to find data there but I'm pretty sure it is a common experience
* Guess there is a "use the first matching version I have" in the stats you
mention, so if you target 11 and have 17 you would use 17 but does not mean
you are ok to run 21 (random numbers, move them a bit to be a counter
example on whatever digit you want for maven 4)
* Guess very few people want to have >= 1 JDK

So clearly the question is not the latest LTS which would be for me just a
moving version we can't support and would be bad for our end users IMHO but
only the version we pick to start at 4.0.0.
Choices stay:

* Latest LTS at that moment to start fresh and not inherit from a legacy at
day 0
* Latest LTS - 1 - which would enable to cover more projects and get more
adoptions
* Something older but I don't find any valid reason since people skipping 2
LTS will likely never reach maven 4 before we discuss to move our baseline
again.

The other question we should probably anticipate is when do we move our
support version range.
Since java is not more predictable in terms of releases I think it can make
sense to target for "new" releases only 2 (maybe 3 but really unsure?) LTS
- indeed with best effort on later versions but no guarantee upfront.
With such a policy calendar can be communicated and people can follow or
not without surprises.

So today, since we don't have yet a final I think 21 can make sense but not
cause it is the current latest, cause it will likely be the ~N-1 at 4.0.0
time.

Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<https://rmannibucau.metawerx.net/> | Old Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
<https://www.packtpub.com/application-development/java-ee-8-high-performance>


Le mar. 20 févr. 2024 à 21:50, Tamás Cservenák <ta...@cservenak.net> a
écrit :

> Howdy,
>
> I intentionally used "Maven" here, and not "Maven 4" as I am sure the
> majority of Maven users do not run Maven on the same Java version they
> target with their build. We do not do that either.
>
> Some snippets from Herve (who is the ONLY one doing reproducible checks,
> kudos for that) votes:
>
> Sun, Feb 18, 2024, 9:38 AM
> [VOTE] Release Apache Maven Shade Plugin version 3.5.2
> Reproducible Build ok: reference build done with JDK 11 on *nix
>
> Wed, Jan 31, 2024, 5:06 AM
> [VOTE] Release Apache Maven JLink Plugin version 3.2.0
> Reproducible Builds ok: reference build done on *nix with JDK 21 and umask
> 022
>
> Mon, Jan 8, 2024, 8:29 AM
> [VOTE] Release Maven Plugin Tools version 3.11.0
> Reproducible Builds ok: reference build done with JDK 8 on Windows with
> umask
>
> Mon, Dec 18, 2023, 8:59 AM
> [VOTE] Release Apache Maven Compiler Plugin version 3.12.0
> Reproducible Builds ok: reference build done on *nix with JDK 21 and umask
> 022
>
> Mon, Dec 18, 2023, 8:59 AM
> [VOTE] Release Apache Maven Compiler Plugin version 3.12.0
> Reproducible Builds ok: reference build done on *nix with JDK 21 and umask
> 022
>
> Wed, Nov 29, 2023, 8:16 AM
> [VOTE] Apache Maven Build Cache Extension 1.1.0
> Reproducible Build ok: reference build done on *nix with JDK 11
>
> Sun, Nov 19, 2023, 5:17 PM
> [VOTE] Release Maven Resolver 1.9.17
> Reproducible Build ok: reference build done with JDK 21 on *nix with umask
> 022
>
> Sat, Oct 21, 2023, 4:34 PM
> VOTE] Apache Maven 4.0.0-alpha-8 release
> Reproducible Build ok: reference build done with JDK 21 on *nix with umask
> 022
>
> Mon, Oct 2, 2023, 9:11 AM
> [VOTE] Release Apache Maven 3.9.5
> Reproducible not fully ok: reference build done with JDK 17 on *nix and
> umask 022
>
> ====
>
> This CLEARLY shows the tendency:
> - Michael does releases on Java 8 (on windows!), he is a known "aligner"
> and windows person :)
> - Olivier used the "minimum" required Java version (for build cache).
> - Unsure why Herve used Java 11 for the Shade plugin... I mean, he could
> use 21 but also 8, but he shot for 11 that was EOL at the moment of
> release.
> - The rest is 21.
>
> ====
>
> So, the question for those refusing anything other than Java 8 to _run_
> Maven (or to revert: for those refusing to run Maven on "latest LTS", that
> is currently 21):
> WHY?
>
>
> Thanks
> T
>

Reply via email to