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 > >> > >> > >> > >> > >> > > > >> > >> > > >> > >> > >> > > > >> > > >> > > >