Guess we interleave too much topics.

Do we agree on the starting point which is we must comply to the "default"
JDK users will get by design, ie the --release one?
If so then we should just cover +65% of the targetted JDK and use the
minimum as min requirement for end users, period.
If not then we should refine the prerequisites to run maven.

Side note: this let us free to use java ea if we want on our CI and for
releases, we just have to ensure we run on the minimum supported versions
tests - without compilation to have some harnessing.

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 jeu. 22 févr. 2024 à 12:51, Tamás Cservenák <ta...@cservenak.net> a
écrit :

> Exactly!
>
> When it all started, the "hurdle" to jump 8 > 11 was smaller, but
> whoever jumped, was literally free after.
> Today, as 11 is dead, the "hurdle" has been raised to 8 > 17, so whoever is
> still waiting, is just piling up problems and more work for themselves.
>
> T
>
> On Thu, Feb 22, 2024 at 12:49 PM Mateusz Gajewski <
> mateusz.gajew...@starburstdata.com> wrote:
>
> > Actually as Trino solves a federation problem, we pull in a lot of
> > dependencies (over 800) and we spent a significant amount of time
> patching
> > and fixing upstream dependencies like Hadoop, Hive, Parquet etc to
> migrate
> > to JDK 17 when it was released, and lately to 21. Migration from 11 to 17
> > was painful due to "strong encapsulation by default". From 17 to 21 was
> > pretty painless - just a bunch of libraries that needed ASM upgrade and
> > some deprecated encryption schemes. To my surprise, different OSS
> > communities are now much more aware of the new JDK versions so testing
> and
> > fixing happens in advance.
> >
> > On the "big companies stays legacy" topic, we sell the enterprise edition
> > of Trino (called Starburst Enterprise) which is on-premise, COTS software
> > to the largest (and probably oldest) companies in the world (from a
> > variety of sectors). When we plan to transition to a new JDK we inform
> our
> > customers several months in advance that this will happen. With JDK 17 we
> > saw some pushback and we delayed the transition for a couple of months,
> but
> > with JDK 21 the situation was totally different - we announced that this
> > would happen in advance too but this time the feedback was "oh, we've
> > already allowed JDK 21 usage in our infrastructure, go ahead". Which was
> > both surprising and encouraging.
> >
> > Times are changing.
> >
> > On Thu, Feb 22, 2024 at 11:22 AM Romain Manni-Bucau <
> rmannibu...@gmail.com>
> > wrote:
> >
> >> @Tamás Cservenák <ta...@cservenak.net> if you read carefully I never
> >> wrote
> >> "all Java 21 projects are toy projects" ;). Eclipse is also not a topic,
> >> it
> >> comes as a distro. Quarkus is still 17+21, trinodb is not something
> >> primarly embedding code, it is more a standalone so more counter
> examples
> >> from my understanding of what Maven stands for.
> >> And yes, a lot of java 21 code will be thrown away today, I never said
> 50%
> >> (even less 100% as you meant) but likely > 25%, sure. Same happent for
> >> java
> >> 8, 11, 17 so not sure why 21 would be different.
> >> Does not say 21 is not adopted - I literally wrote the opposite, just
> >> meant
> >> we should always interpret figures for what they are and identify their
> >> bias instead of biasing them more.
> >>
> >> Please note that --release does NOT solve anything, think to maven as an
> >> ecosystem - plugins - and we still want to run with the contextual java
> >> version I guess - if this hypothesis is wrong please close this thread
> and
> >> start a new about this minimalistic feature, if we want to drop that we
> go
> >> in the distro erea, drop plugins support but decision is not taken on
> the
> >> same points at all - we woud likely dont care of the java version we
> would
> >> go that path.
> >>
> >> 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 jeu. 22 févr. 2024 à 11:06, Tamás Cservenák <ta...@cservenak.net> a
> >> écrit :
> >>
> >> > And one more remark regarding "toy projects":
> >> > You seriously mean that these numbers could be skewed by "toy
> projects"?
> >> > IMHO toy projects, while most probably represented here, are "lost,
> like
> >> > tears in the rain".
> >> >
> >> > T
> >> >
> >> > On Thu, Feb 22, 2024 at 10:39 AM Tamás Cservenák <ta...@cservenak.net
> >
> >> > wrote:
> >> >
> >> > > >> lot of java 21 tody is still PoC or toy projects
> >> > >
> >> > > Quarkus, TrinoDB or Eclipse are not toy projects. So they fact there
> >> ARE
> >> > > "toy projects", you should not derive that "all Java 21 projects are
> >> toy
> >> > > projects".
> >> > >
> >> > > T
> >> > >
> >> > > On Thu, Feb 22, 2024 at 10:32 AM Romain Manni-Bucau <
> >> > rmannibu...@gmail.com>
> >> > > wrote:
> >> > >
> >> > >> [joke]this last diagram looks like you are looking for piece[/]
> >> > >>
> >> > >> I'm not sure the weight can be linear like that, it is not because
> >> you
> >> > are
> >> > >> old that you will die - lot of java 21 tody is still PoC or toy
> >> projects
> >> > >> so
> >> > >> should be in the weight somehow if we go this way.
> >> > >>
> >> > >> Ultimately your user agent idea was really better than java stat
> >> alone
> >> > >> since it is really a cross matrix/time unit we should check.
> >> > >>
> >> > >> Sadly all these stats miss, for my understanding, the dynamic
> behind
> >> > (like
> >> > >> seeing a random point in a exponential vs linear graph, alone you
> >> don't
> >> > >> know where you are going to).
> >> > >>
> >> > >> From memory, trying to use the last years figures it seems the
> >> dynamic
> >> > is
> >> > >> to follow the LTS with some lateness, ie current is 21 but people
> are
> >> > >> around 11-17. Like a sliding window.
> >> > >> Indeed the public polls I use - the ones you get on twitter from
> >> > intellij
> >> > >> or friends - for that conclusion are biased cause they hit more
> >> "geeks"
> >> > >> than standard work people but I don't have anything better right
> now
> >> in
> >> > >> terms of time serie.
> >> > >> Anyone has more comparative data about that?
> >> > >>
> >> > >> My proposal/thought was really to align on that dynamic - from the
> >> > latest
> >> > >> to a limit to cover ~>=65% of people - more than fixing some
> version
> >> in
> >> > >> stone.
> >> > >>
> >> > >> 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 jeu. 22 févr. 2024 à 10:17, Tamás Cservenák <
> ta...@cservenak.net>
> >> a
> >> > >> écrit :
> >> > >>
> >> > >> > For start I "normalized" the Java strings to a form like "Java 8"
> >> or
> >> > >> "Java
> >> > >> > 17". This resulted in pretty much similar results as Romain PDF
> >> (Azul
> >> > >> > report).
> >> > >> >
> >> > >> > But then realized, we should consider this: Not every LTS existed
> >> at
> >> > the
> >> > >> > same time span (and we discuss the future here, not the past).
> >> Here is
> >> > >> some
> >> > >> > history I collected:
> >> > >> >
> >> > >> > - Java 8: Covers strings like "Java 1.8.0-25" (2014) to "Java
> >> > 1.8.0-401"
> >> > >> > (2024), that is 10 year span.
> >> > >> > - Java 11: Covers strings like "Java 11-ea" (2018) to "Java
> >> 11.0.22"
> >> > >> > (2024), that is a 6 year span.
> >> > >> > - Java 17: Covers strings like "Java 17-ea" (2021) to "Java
> >> 17.0.10"
> >> > >> > (2024), that is a 3 year span.
> >> > >> > - Java 21: Covers strings like "Java 21-ea" (2023) to "Java
> 21.0.2"
> >> > >> (2024),
> >> > >> > that is 1 year span.
> >> > >> >
> >> > >> > So, "normalized" and "weighted" (by lifespan) results are these:
> >> > >> > https://gist.github.com/cstamas/d2e5560f24ebe6a667834aa1f44d6fc1
> >> > >> >
> >> > >> > Weighted pie immediately shows which Java versions are "dead"
> (are
> >> > >> present,
> >> > >> > but are "sliding out") and which ones are "alive and kicking"
> (and
> >> > >> adoption
> >> > >> > is quite high).
> >> > >> >
> >> > >> > ---
> >> > >> >
> >> > >> > Refs:
> >> > >> > - https://www.java.com/releases/
> >> > >> > - https://openjdk.org/projects/jdk/11/
> >> > >> > - https://openjdk.org/projects/jdk/17/
> >> > >> > - https://openjdk.org/projects/jdk/21/
> >> > >> >
> >> > >> > On Thu, Feb 22, 2024 at 8:50 AM Tamás Cservenák <
> >> ta...@cservenak.net>
> >> > >> > wrote:
> >> > >> >
> >> > >> > > Howdy,
> >> > >> > >
> >> > >> > > Maven UA is created like this:
> >> > >> > >
> >> > >> > >
> >> > >> >
> >> > >>
> >> >
> >>
> https://github.com/apache/maven/blob/master/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java#L555
> >> > >> > >
> >> > >> > > I was hoping also for a list of "Apache Maven ..." lines with
> >> > >> occurrence
> >> > >> > > count.
> >> > >> > >
> >> > >> > > Now am unsure, for example if any other tool would use "Java X"
> >> > >> string in
> >> > >> > > its own UA, is that collected here?
> >> > >> > >
> >> > >> > > But let's cook with what we have :)
> >> > >> > >
> >> > >> > > T
> >> > >> > >
> >> > >> > >
> >> > >> > > On Thu, Feb 22, 2024, 08:03 Mateusz Gajewski <
> >> > >> > > mateusz.gajew...@starburstdata.com> wrote:
> >> > >> > >
> >> > >> > >> Do you have maven version and java version at the same time
> >> > report? I
> >> > >> > >> wonder if old maven is used with old JDK :)
> >> > >> > >>
> >> > >> > >> On Wed, Feb 21, 2024 at 23:23 Brian Fox <bri...@infinity.nu>
> >> > wrote:
> >> > >> > >>
> >> > >> > >> > Hi everyone. I haven't caught up on this thread but Tamas
> >> pinged
> >> > >> me to
> >> > >> > >> get
> >> > >> > >> > some usage data from Central. Attached are the Maven
> versions
> >> and
> >> > >> JDK
> >> > >> > >> > Version counts as reported by User Agent by distinct IP for
> >> the
> >> > >> last
> >> > >> > 30
> >> > >> > >> > days:
> >> > >> > >> >
> >> > >> > >> >
> >> > >> > >> >
> >> > >> > >> >
> >> > >> > >> >
> >> > >> > >> > On Wed, Feb 21, 2024 at 4:15 PM Hunter C Payne
> >> > >> > >> > <hunterpayne2...@yahoo.com.invalid> wrote:
> >> > >> > >> >
> >> > >> > >> >>  I also want to stress that we care about what maven
> supports
> >> > far
> >> > >> > more
> >> > >> > >> >> than what it requires to build.  If it needs JDK 17 to
> build
> >> but
> >> > >> the
> >> > >> > >> jars
> >> > >> > >> >> are compliant with Java 8, that's fine with me.
> >> > >> > >> >>
> >> > >> > >> >> Hunter
> >> > >> > >> >>
> >> > >> > >> >>     On Wednesday, February 21, 2024 at 12:47:33 PM PST,
> >> Romain
> >> > >> > >> >> Manni-Bucau <rmannibu...@gmail.com> wrote:
> >> > >> > >> >>
> >> > >> > >> >>  Hmm, not sure im ready for a 200M vanilla build tool even
> >> if it
> >> > >> > would
> >> > >> > >> >> have
> >> > >> > >> >> been ok legally...
> >> > >> > >> >>
> >> > >> > >> >> Le mer. 21 févr. 2024 à 21:41, Hunter C Payne
> >> > >> > >> >> <hunterpayne2...@yahoo.com.invalid> a écrit :
> >> > >> > >> >>
> >> > >> > >> >> >  I might be wrong but I understood that shipping the
> >> JRE/JVM
> >> > >> > >> required a
> >> > >> > >> >> > license and this is why most people don't ship with a JVM
> >> > >> bundled.
> >> > >> > >> But
> >> > >> > >> >> > perhaps that has changed since the Oracle v
> Google/Alphabet
> >> > >> trial.
> >> > >> > >> >> > Hunter
> >> > >> > >> >> >
> >> > >> > >> >> >    On Wednesday, February 21, 2024 at 12:00:54 PM PST,
> >> > Benjamin
> >> > >> > >> Marwell
> >> > >> > >> >> <
> >> > >> > >> >> > bmarw...@apache.org> wrote:
> >> > >> > >> >> >
> >> > >> > >> >> >  FWIW, bazel changed its runtime requirement to Java 21.
> >> > >> > >> >> > But they are shipping their own Java Runtime, so their
> >> users
> >> > >> won't
> >> > >> > >> >> notice.
> >> > >> > >> >> > [1]
> >> > >> > >> >> >
> >> > >> > >> >> > I think they are the first build tool to do that.
> >> > >> > >> >> >
> >> > >> > >> >> > I say this as a FYI fact only, not implying anything.
> >> > >> > >> >> > Make of it what you want.
> >> > >> > >> >> >
> >> > >> > >> >> > - Ben
> >> > >> > >> >> >
> >> > >> > >> >> > Am Di., 20. Feb. 2024 um 21:50 Uhr schrieb Tamás
> Cservenák
> >> > >> > >> >> > <ta...@cservenak.net>:
> >> > >> > >> >> > >
> >> > >> > >> >> > > 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
> >> > >> > >> >> >
> >> > >> > >> >> >
> >> > >> >
> >> ---------------------------------------------------------------------
> >> > >> > >> >> > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> >> > >> > >> >> > For additional commands, e-mail:
> dev-h...@maven.apache.org
> >> > >> > >> >> >
> >> > >> > >> >> >
> >> > >> > >> >>
> >> > >> > >> >
> >> > >> > >> >
> >> > >> > >> >
> >> > >>
> ---------------------------------------------------------------------
> >> > >> > >> > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> >> > >> > >> > For additional commands, e-mail: dev-h...@maven.apache.org
> >> > >> > >>
> >> > >> > >
> >> > >> >
> >> > >>
> >> > >
> >> >
> >>
> >
>

Reply via email to