On Tue, 29 Oct 2019 at 12:47, Stephen Connolly < stephen.alan.conno...@gmail.com> wrote:
> We already have a version policy: > https://cwiki.apache.org/confluence/display/MAVEN/Version+number+policy > (while that page says draft, the proposal was on-list in 2014 and just converted into a wiki page afterwards - hence why the examples use 2014 dates) > > The development line of Maven core should require a minimum JRE version > that is no older than 18 months after the end of Oracle's public updates > for that JRE version at the time that the first version of the development > line was released, but may require a higher minimum JRE version if other > requirements dictate a higher JRE version. > > End of public updates for Java 8 from Oracle was January 2019, thus if we > cut a new minor version we would be Java 8 but not Java 7. > > > On Tue, 29 Oct 2019 at 12:28, Tibor Digana <tibordig...@apache.org> wrote: > >> Stephen, we are in loop. >> Of course I know these technical things. >> But I am saying, and I am not alone (Michael Osipov too), that I agree >> with >> sources 1.8, but there must be1. the Vote with milestones regarding Maven >> and another Vote regarding plugins, and 2. written list of pros/cons >> regarding J8 and 3. developer guideline for J8 (for devs, consultants, >> another professions as well in the team). >> You know, with video calls, all these public emails would be gone within >> one or two hours, I am sure! >> I am also sure that we will have another code preferences and therefore we >> should have some guideline. For instance, I like to have clear OOP in the >> public class/interfaces and Lambda in private code. And there are a lot of >> stuff, like parallel streams ala thread pool of non-daemon threads, >> performance of streams (when, how stream is constructed, etc), Date Time >> API is new as well. >> >> No benefit for the community with J7 sources but yes with J8 code. Believe >> me, this is true. Michael mentioned that as well. >> > > Not true. Java 8 bytecode adds additional metadata that speeds up > classloading (but only when the class graph is all Java 8) > > >> >> It is also true that we have a lot of bugs, and it is true that Maven >> needs >> to have breakthrough features like reproducible build and User POM, Docker >> prefetched cache, etc. >> I have no argument against these things. The only problem that I have and >> Michael has is the way how this is managed but it is the only trivial >> problem that we can solve between us. >> >> >> >> >> >> On Tue, Oct 29, 2019 at 1:04 PM Stephen Connolly < >> stephen.alan.conno...@gmail.com> wrote: >> >> > You cannot have Java 8 sources produce Java 7 bytecode with the Java 8's >> > javac. >> > >> > -target must be >= -source >> > >> > So to say: >> > >> > > So I vote -1 for J8 bytecode, and I vote +1 for J8 source code! >> > >> > Is not possible, you'll get something like: >> > >> > $ javac Test -source 1.8 -target 1.7 >> > javac: source release 1.8 requires target release 1.8 >> > >> > While we could use something like >> https://github.com/luontola/retrolambda >> > its usage is not without significant risks. You really need to be very >> > careful in how you use it, and the effort is IMHO far exceeding the >> risk. >> > Much better to just say Maven 3.7.0 is requires the runtime JVM be Java >> 8+, >> > use toolchains if you need to compile or unit tests with older JDKs. >> > >> > We have agreed before that upgrading the Maven minor or major version >> would >> > affect the JREs that Maven can run on. Basically following a one and one >> > back for Oracle supported JDKs, thus 3.7.0 per that policy would be >> forced >> > to Java 8 as minimum anyway.... in other words, our users should be >> > expecting us to go Java 8 as baseline. >> > >> > On Tue, 29 Oct 2019 at 10:28, Tibor Digana <tibordig...@apache.org> >> wrote: >> > >> > > Stephen, what issue with current toolchain you mean? >> > > >> > > On Tue, Oct 29, 2019 at 11:11 AM Stephen Connolly < >> > > stephen.alan.conno...@gmail.com> wrote: >> > > >> > > > On Tue, 29 Oct 2019 at 08:02, Tibor Digana <tibordig...@apache.org> >> > > wrote: >> > > > >> > > > > Robert, I saw the code. The class has a method which returns >> Lambda >> > > > > function. The whole class was designed with OOP. The OOP is a good >> > > thing >> > > > > which you should follow and follow this approach and not to return >> > the >> > > > > labda function. Basically it is a precedense created in the PR >> saying >> > > > that >> > > > > now J8 has to be used in the bytecode. >> > > > > So I vote -1 for J8 bytecode, and I vote +1 for J8 source code! >> > > > > >> > > > >> > > > That is not possible using the current toolchains. Let's just go >> with >> > > Java >> > > > 8. There seems no good reason to hold back >> > > > >> > > > >> > > > > >> > > > > On Tue, Oct 29, 2019 at 8:25 AM Robert Scholte < >> rfscho...@apache.org >> > > >> > > > > wrote: >> > > > > >> > > > > > The outcome is quite clear to me. There no clear 'No' to add >> this >> > > > > > build/consumer feature into 3.7.0, so we'll add it which >> implies we >> > > > must >> > > > > > move to Java 8 due to new APIs with Java 8 class signatures. >> > > > > > >> > > > > > But first we need to deliver a 3.6.3 regression release. >> > > > > > >> > > > > > Robert >> > > > > > >> > > > > > On 29-10-2019 05:53:25, Romain Manni-Bucau < >> rmannibu...@gmail.com> >> > > > > wrote: >> > > > > > +1, the risk is more or less 0 since we can still use branches >> for >> > > > > > potential fixes for "old" projects using frozen java and maven >> > > versions >> > > > > > anyway >> > > > > > >> > > > > > Guess we can even be very precautionous doing 1. an upgrade to >> > > bytecode >> > > > > > version without any code change (to change the major version in >> > > > > bytecode), >> > > > > > 2. a M1 to let users test it if some still doubt. >> > > > > > >> > > > > > Le mar. 29 oct. 2019 à 04:06, Olivier Lamy a écrit : >> > > > > > >> > > > > > > so what is the status of this? >> > > > > > > will we discuss in 2025 about being able to use java 8 apis >> or do >> > > we >> > > > > have >> > > > > > > to wait 2030? >> > > > > > > Sorry to be sarcastic but not moving forward it's certainly a >> > > reason >> > > > > why >> > > > > > we >> > > > > > > do not have more people participating in the project.... >> > > > > > > It is so frustrating to be stuck with old apis... >> > > > > > > >> > > > > > > >> > > > > > > >> > > > > > > On Thu, 10 Oct 2019 at 04:36, Tibor Digana wrote: >> > > > > > > >> > > > > > > > I have to fully agree on Michael Osipov. This discussion is >> > > > > > > > contraproductive from the time perspective. >> > > > > > > > He explained the situation in Maven very clearly that we >> have >> > > over >> > > > > 1800 >> > > > > > > > bugs and here we are talking about javac compiler version >> which >> > > > does >> > > > > > not >> > > > > > > > fix these bugs. >> > > > > > > > We know that our community is quite big but we also know >> that >> > we >> > > > have >> > > > > > > only >> > > > > > > > few several developers who regularily provides fixes for the >> > bug >> > > > and >> > > > > > they >> > > > > > > > do it for free! >> > > > > > > > So my advice is to leave these talks alone about technology >> > lobby >> > > > > (seen >> > > > > > > on >> > > > > > > > ML from outside as well) and rather concentrate on the bug. >> We >> > > have >> > > > > > seen >> > > > > > > > that the users/contributors handled performance issues and >> > fixed >> > > > them >> > > > > > > which >> > > > > > > > means that these contributors got very good proficiency >> level! >> > > > > > > > >> > > > > > > > On Wed, Oct 9, 2019 at 7:56 PM Alexander Ashitkin <> >> > > > > > > ashitkin.a...@gmail.com >> > > > > > > > > >> > > > > > > > wrote: >> > > > > > > > >> > > > > > > > > Totally disagree on the point. Writing java7 code after 8 >> > makes >> > > > you >> > > > > > > feel >> > > > > > > > > suffering - because instead of expressive stream based >> > > operations >> > > > > and >> > > > > > > > > lambdas you write pointless iterators and copy >> collections. >> > > > > > > > > It is purely subjective opinion that lambdas make code >> less >> > > > > readable >> > > > > > - >> > > > > > > at >> > > > > > > > > least there is an absolutely opposite opinion >> > > > > > > > > >> > > > > > > > > Thank you >> > > > > > > > > Aleks >> > > > > > > > > >> > > > > > > > > On 2019/10/03 12:47:35, Paul Hammant wrote: >> > > > > > > > > > Who codes for 18 months before discovering that qa/prod >> are >> > > not >> > > > > > > > > compatible, >> > > > > > > > > > anymore? Especially if Google ship a use-this-Pom >> starter. >> > > > > > > > > > >> > > > > > > > > > On Thu, Oct 3, 2019 at 1:44 PM Elliotte Rusty Harold <> >> > > > > > > > elh...@ibiblio.org >> > > > > > > > > > >> > > > > > > > > > wrote: >> > > > > > > > > > >> > > > > > > > > > > Theoretically that would work. In practice though, >> every >> > > > > project >> > > > > > > I've >> > > > > > > > > > > seen convert to Java 8 rapidly starts adding lambdas >> that >> > > > make >> > > > > > the >> > > > > > > > > > > code more obfuscated for no good reason and soon >> > introduces >> > > > > hard >> > > > > > > > > > > dependencies on Java 8, intentionally or otherwise. >> At a >> > > bare >> > > > > > > > minimum, >> > > > > > > > > > > a CI environment that runs Java 7 is required. >> > > > > > > > > > > >> > > > > > > > > > > On Thu, Oct 3, 2019 at 8:25 AM Paul Hammant >> > > > > > > > wrote: >> > > > > > > > > > > > >> > > > > > > > > > > > Would jdk 8 for maven itself and a target of 7 for >> the >> > > > > compiler >> > > > > > > > > (etc) for >> > > > > > > > > > > > maven-using projects be ok? >> > > > > > > > > > > > >> > > > > > > > > > > > On Thu, Oct 3, 2019 at 1:15 PM Elliotte Rusty >> Harold <> >> > > > > > > > > elh...@ibiblio.org >> > > > > > > > > > > > >> > > > > > > > > > > > wrote: >> > > > > > > > > > > > >> > > > > > > > > > > > > Strong -1 on Java 8 as the minimum version. Google >> > > Cloud >> > > > > > > Platform >> > > > > > > > > has >> > > > > > > > > > > > > lots of products and customers that still require >> > Java >> > > 7. >> > > > > If >> > > > > > > > Maven >> > > > > > > > > > > > > requires Java 8, we'd have to stick to the latest >> of >> > > > > > whichever >> > > > > > > > > release >> > > > > > > > > > > > > does support Java 7 for at least a year and I'm >> > > guessing >> > > > > > > longer. >> > > > > > > > > > > > > >> > > > > > > > > > > > > On Sat, Sep 28, 2019 at 8:04 AM Robert Scholte <> >> > > > > > > > > rfscho...@apache.org> >> > > > > > > > > > > > > wrote: >> > > > > > > > > > > > > > >> > > > > > > > > > > > > > Hi, >> > > > > > > > > > > > > > >> > > > > > > > > > > > > > TLDR; introduce maven.experimental.buildconsumer >> > and >> > > > push >> > > > > > > Java >> > > > > > > > > > > > > requirement >> > > > > > > > > > > > > > to Java 8 >> > > > > > > > > > > > > > >> > > > > > > > > > > > > > now that Maven 3.6.2 is out for a couple of >> weeks, >> > it >> > > > > seems >> > > > > > > > like >> > > > > > > > > we >> > > > > > > > > > > > > didn't >> > > > > > > > > > > > > > face real regressions. >> > > > > > > > > > > > > > The only one might be tricky is the issue >> related >> > to >> > > > > Tycho. >> > > > > > > > > > > > > > >> > > > > > > > > > > > > > However, I think we're ready to push Maven to >> the >> > > next >> > > > > > level. >> > > > > > > > > > > > > > >> > > > > > > > > > > > > > For those actively reading this list, they >> should >> > > > > recognize >> > > > > > > the >> > > > > > > > > need >> > > > > > > > > > > for >> > > > > > > > > > > > > > splitting up the pom as it is on the local >> system >> > > > versus >> > > > > > the >> > > > > > > > pom >> > > > > > > > > > > being >> > > > > > > > > > > > > > uploaded. Once we truly control this mechanism >> we >> > can >> > > > > think >> > > > > > > of >> > > > > > > > > > > > > > improvements on model 5.0.0 and new fileformats. >> > > > > > > > > > > > > > >> > > > > > > > > > > > > > I've created and implemented MNG-6656[1]. It >> also >> > > > > contains >> > > > > > a >> > > > > > > > zip >> > > > > > > > > > > with an >> > > > > > > > > > > > > > example (original, patched, README) to >> understand >> > > > what's >> > > > > > > > > happening. >> > > > > > > > > > > > > > >> > > > > > > > > > > > > > In order to make this successful, we need IDEs >> and >> > CI >> > > > > > Servers >> > > > > > > > to >> > > > > > > > > > > > > > understand and support these changes. The likely >> > need >> > > > to >> > > > > > > > > implement >> > > > > > > > > > > one of >> > > > > > > > > > > > > > the interfaces[2]. >> > > > > > > > > > > > > > The new interface uses Java8 Functions (and >> > > especially >> > > > > > > > > > > SAXEventFactory is >> > > > > > > > > > > > > > way easier to read+maintain with Java 8). I've >> > tried >> > > to >> > > > > > keep >> > > > > > > > > Maven >> > > > > > > > > > > Java 7 >> > > > > > > > > > > > > > compatible, but that was too hard to do. >> > > > > > > > > > > > > > So I'd like to use this opportunity to move >> Maven >> > > > forward >> > > > > > and >> > > > > > > > > start >> > > > > > > > > > > > > > requiring Java 8. >> > > > > > > > > > > > > > >> > > > > > > > > > > > > > There are some other improvements I'd like to >> add >> > > > (those >> > > > > > > > messages >> > > > > > > > > > > will >> > > > > > > > > > > > > > follow), so this will imply that it will take >> some >> > > time >> > > > > > > before >> > > > > > > > > we do >> > > > > > > > > > > a >> > > > > > > > > > > > > new >> > > > > > > > > > > > > > release. >> > > > > > > > > > > > > > >> > > > > > > > > > > > > > WDTY, >> > > > > > > > > > > > > > Robert >> > > > > > > > > > > > > > >> > > > > > > > > > > > > > [1] >> https://issues.apache.org/jira/browse/MNG-6656 >> > > > > > > > > > > > > > [2] >> > > > > > > https://github.com/apache/maven/compare/MNG-6656?expand=1 >> > > > > > > > > > > > > > >> > > > > > > > > > > > > > >> > > > > > > > > >> > > > > >> --------------------------------------------------------------------- >> > > > > > > > > > > > > > To unsubscribe, e-mail: >> > > > dev-unsubscr...@maven.apache.org >> > > > > > > > > > > > > > For additional commands, e-mail: >> > > > > dev-h...@maven.apache.org >> > > > > > > > > > > > > > >> > > > > > > > > > > > > >> > > > > > > > > > > > > >> > > > > > > > > > > > > -- >> > > > > > > > > > > > > Elliotte Rusty Harold >> > > > > > > > > > > > > elh...@ibiblio.org >> > > > > > > > > > > > > >> > > > > > > > > > > > > >> > > > > > > > > >> > > > > >> --------------------------------------------------------------------- >> > > > > > > > > > > > > To unsubscribe, e-mail: >> > > dev-unsubscr...@maven.apache.org >> > > > > > > > > > > > > For additional commands, e-mail: >> > > > dev-h...@maven.apache.org >> > > > > > > > > > > > > >> > > > > > > > > > > > > >> > > > > > > > > > > >> > > > > > > > > > > >> > > > > > > > > > > >> > > > > > > > > > > -- >> > > > > > > > > > > Elliotte Rusty Harold >> > > > > > > > > > > elh...@ibiblio.org >> > > > > > > > > > > >> > > > > > > > > > > >> > > > > > > >> > > --------------------------------------------------------------------- >> > > > > > > > > > > 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 >> > > > > > > > > >> > > > > > > > > >> > > > > > > > >> > > > > > > >> > > > > > > >> > > > > > > -- >> > > > > > > Olivier Lamy >> > > > > > > http://twitter.com/olamy | http://linkedin.com/in/olamy >> > > > > > > >> > > > > > >> > > > > >> > > > >> > > >> > >> >