Because maintaining Java 7 is a barrier to new contributors. It is tricky
enough to get Java 8 set up for some developers. Every version we support
adds complexity for contributors. Personally, I think we should be thinking
about dropping even Java 8 if we wait until next year and just follow the
latest LTS line... but I am happy to keep with Java 8 as a baseline for
now. Java 7 is only supported for a limited number of environments right
now, whereas Java 8 has multiple vendors supporting it against multiple
platforms at least until mid 2023.

We hold back the entire community if we stick on a base version for too
long.

On Tue, 29 Oct 2019 at 13:00, Michael Osipov <1983-01...@gmx.net> wrote:

> Why not have 3.7.0 plugin updates and other non-technical stuff, have it
> parallely maintained for some time and move with Maven 3.8.0 to Java 8
> next year?!
>
> Does that sound like a plan? I'd be happy with that. I'd also expect
> an announcement on dev@, announce@ and users@.
>
> Michael
>
> > Gesendet: Dienstag, 29. Oktober 2019 um 13:49 Uhr
> > Von: "Stephen Connolly" <stephen.alan.conno...@gmail.com>
> > An: "Maven Developers List" <dev@maven.apache.org>
> > Betreff: Re: [DISCUSS] Maven 3.7.0
> >
> > 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
> > >> > > > > > >
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> > >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> For additional commands, e-mail: dev-h...@maven.apache.org
>
>

Reply via email to