On Tue, 29 Oct 2019 at 12:49, Stephen Connolly <
stephen.alan.conno...@gmail.com> wrote:

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

https://lists.apache.org/thread.html/41a693d0e5787fa8af33ab0724a95c3ed0374fe2d860c2357a5565a9@1392995450@%3Cdev.maven.apache.org%3E


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

Reply via email to