Re: [DISCUSS] Maven 3.7.0

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSS] Maven 3.7.0

Mickael Istria-2
On Sat, Sep 28, 2019 at 2:04 PM Robert Scholte <[hidden email]> wrote:

> The only one might be tricky is the issue related to Tycho.


What issue is this? Tycho integration-tests are being run against Maven
snapshots daily and no issue was spot nor report on Tycho side as far as I
know.
Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSS] Maven 3.7.0

rfscholte
https://issues.apache.org/jira/browse/MNG-6765

I guess it is more about the pom-less part than the tycho-part.

On Sat, 28 Sep 2019 15:55:28 +0200, Mickael Istria <[hidden email]>  
wrote:

> On Sat, Sep 28, 2019 at 2:04 PM Robert Scholte <[hidden email]>  
> wrote:
>
>> The only one might be tricky is the issue related to Tycho.
>
>
> What issue is this? Tycho integration-tests are being run against Maven
> snapshots daily and no issue was spot nor report on Tycho side as far as  
> I
> know.

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSS] Maven 3.7.0

rfscholte
In reply to this post by Mickael Istria-2
> Then why you are setting target to 1.8 without the code?

As said: there *are* Java 8 specific code changes:

https://github.com/apache/maven/compare/MNG-6656?expand=1#diff-becf9d362b95e48f9ca0f2ab76ca9f8fR54 
(and every other method in this class)
https://github.com/apache/maven/compare/MNG-6656?expand=1#diff-97970a066f1696b603d96aad18b0f016R30
https://github.com/apache/maven/compare/MNG-6656?expand=1#diff-42c7d5b776fd974f21918f6d7ff2ab24R82-R94
https://github.com/apache/maven/compare/MNG-6656?expand=1#diff-3af5d63445648bbb61fddf8863a53888R36-R62

Even though all these classes live in the new maven-xml module, if you try  
to only compile this module with Java 8, and let maven-core depend on it  
with an @Inject for the BuildPomXMLFilterFactory, Maven simple won't start  
on Java 7 anymore. Trying to keep Maven Java 7 compatible including these  
files will introduce unmaintainable and unreadable code.
Hence why I started this [discuss] topic.
Up until now most people see this as the right opportunity to require Java  
8.

Robert

On Mon, 30 Sep 2019 21:15:47 +0200, Tibor Digana <[hidden email]>  
wrote:

> Then why you are setting target to 1.8 without the code?
> It does not make sense to set it without adapting the code.
>
> You know what it looks like? Many people will hate me when I say this in
> public.
> It looks like a lobby. And there can be anything in background,
> organizations, money flow, anything. But we do not do it for money. We  
> are
> doing it for the top notch quality and satisfied user.
>
> We know the one of our user created a commit in a plugin where the code  
> was
> migrated automatically.
> It helps but still you have to remove the "modernizer" annotations:
>
> <plugin>
> <groupId>org.gaul</groupId>
> <artifactId>modernizer-maven-plugin</artifactId>
> <version>1.8.0</version>
> <executions>
>   <execution>
> <id>modernizer</id>
> <phase>verify</phase>
> <goals>
>  <goal>modernizer</goal>
> </goals>
>   </execution>
> </executions>
> <configuration>
>   <javaVersion>1.8</javaVersion>
> </configuration>
> </plugin>
>
>     <dependency>
>       <groupId>org.gaul</groupId>
>       <artifactId>modernizer-maven-annotations</artifactId>
>       <version>1.8.0</version>
>     </dependency>
>
> On Mon, Sep 30, 2019 at 9:04 PM Enrico Olivelli <[hidden email]>  
> wrote:
>
>> Tibor
>>
>> Il lun 30 set 2019, 20:30 Tibor Digana <[hidden email]> ha
>> scritto:
>>
>> > Robert, you'r really right, there is only 3.7.0-candidate
>> > <
>> >
>> https://issues.apache.org/jira/issues/?jql=project+%3D+MNG+AND+fixVersion+%3D+3.7.0-candidate
>> > >
>> > version in Jira, see
>> >
>> >
>> https://issues.apache.org/jira/projects/MNG?selectedItem=com.atlassian.jira.jira-projects-plugin:release-page
>> > So this means MNG-6169 is in this discussion as well as it is 3.7.0.
>> > As well as many other issues in the list including the MNG-6548 and
>> > MNG-6656 too.
>> >
>> > Internal code regarding J8 means that you have to rewrite the code to  
>> J8.
>> > It can be done automatically but that's another topic.
>> >
>>
>> You know that compiling for j8 does not require to use lamdas or  
>> whatever,
>> don't have to change your code,but only set target=8
>>
>> Enrico
>>
>>
>> As far as I know the Maven developers they do not always have private  
>> spare
>> > time to do this job and therefore it is better to write a list of
>> > priorities and find the human resources for these issue. I know how
>> > difficult it is. This is the main problem.
>> > I am not against J8. I only say that we have to deliver important  
>> things
>> > from the user perspective first and then those less important whishes
>> which
>> > is called "priorities", nothing special.
>> >
>> > Cheers
>> > Tibor17
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > On Mon, Sep 30, 2019 at 8:14 PM Robert Scholte <[hidden email]>
>> > wrote:
>> >
>> > > The versions upgrades of plugins are part of another topic, which  
>> are
>> > > indeed 3.7.0 candidates.
>> > >
>> > > As said, the Java 8 update is not just about internal code  
>> improvements
>> > > or
>> > > changes. Maven will expose new APIs/SPIs that contain Java 8  
>> Functions,
>> > > so
>> > > it must be seen as a requirement to implement the experimental
>> > > buildconsumer feature.
>> > >
>> > > Robert
>> > >
>> > > On Sat, 28 Sep 2019 14:23:16 +0200, Tibor Digana <
>> [hidden email]
>> > >
>> > >
>> > > wrote:
>> > >
>> > > > Hello guys,
>> > > >
>> > > > For the user community these two issues are important:
>> > > > https://issues.apache.org/jira/browse/MNG-6169
>> > > > https://issues.apache.org/jira/browse/MNG-6548
>> > > > The Tycho project is the user as well.
>> > > > The J8 is internal code improvement/change => lower priority than  
>> the
>> > > > user's priority => release order/priorities/dedicated time spent  
>> in
>> > > > development.
>> > > >
>> > > > Have a nice day.
>> > > >
>> > > > Cheers
>> > > > Tibor17
>> > > >
>> > > > On Sat, Sep 28, 2019 at 2:08 PM Gary Gregory  
>> <[hidden email]
>> >
>> > > > wrote:
>> > > >
>> > > >> I would say that fixing the Tycho issue comes first.
>> > > >>
>> > > >> Gary
>> > > >>
>> > > >> On Sat, Sep 28, 2019 at 8:04 AM Robert Scholte <
>> [hidden email]>
>> > > >> 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: [hidden email]
>> > > >> > For additional commands, e-mail: [hidden email]
>> > > >> >
>> > > >> >
>> > >
>> > >  
>> ---------------------------------------------------------------------
>> > > To unsubscribe, e-mail: [hidden email]
>> > > For additional commands, e-mail: [hidden email]
>> > >
>> > >
>> >

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSS] Maven 3.7.0

Tibor Digana
In reply to this post by Mickael Istria-2
>> any previous jdk is not maintained

Romain I was not talking about yes/no J8.
I was talking about J8 sources.
Not about dead J7 and Oracle support of J7.

Not sure if the Maven devs would be able to use J8. Important is "how".
Therefore the Wiki should help them "how".


>> We can still get fixes releases on need backporting small fixes.

Not for sure. You was not in the Maven when we said that we wouldnt
backport to the old 3.x versions because it went with high cost and we do
not have enough human resources.


On Thu, Oct 3, 2019 at 9:08 PM Romain Manni-Bucau <[hidden email]>
wrote:

> Le jeu. 3 oct. 2019 à 20:22, Tibor Digana <[hidden email]> a
> écrit :
>
> > The topic related to TLS is only related to runtime, means JDK, which is
> > under the control of the particular user or CI.
> > I guess the user can easily find the answer:
> >
> >
> https://stackoverflow.com/questions/50824789/why-am-i-getting-received-fatal-alert-protocol-version-or-peer-not-authentic
> >
> > The thing is that we need to specify:
> > + advantages of Java 1.8 in code (Lambda, brief code, maybe)
> > + disadvantages of Java 1.8 in code (Streams performance when/how/what
> > approach???)
> >
>
> There is also a not technical view, any previous jdk is not maintained so
> its support is no more needed since we are far from any acceptable
> migration for projects which would migrate.
>
>
>
> > Write notices for developers on the internal Wiki:
> > + toolchains
> > + limitations and solutions for disadvantages
> > + conditions when and how to migrate from J7 to J8
> >
>
>
> Or the most common option: stick to current mvn version.
>
> We can still get fixes releases on need backporting small fixes. It is how
> asf works after all.
>
> I wouldnt bother users with toolchain, it is only needed for libs and the
> active ones almost all migrated to j8 ;).
>
>
> > and then we should Vote for J8.
> >
> > And there are users who is has J6 and J7 and they may require us to
> > maintain the old version 3.6.x.
> > What to do in this case?
> > Is the toolchain enough? Usually it is in ordinal projects!
> >
> > Cheers
> > T
> >
> >
> > On Thu, Oct 3, 2019 at 5:52 PM Stephen Connolly <
> > [hidden email]> wrote:
> >
> > > On Thu, 3 Oct 2019 at 16:49, Karl Heinz Marbaise <[hidden email]>
> > > wrote:
> > >
> > > > Hi,
> > > >
> > > > On 03.10.19 17:03, Tibor Digana wrote:
> > > > > This is not very serious discussion since we saw users on our
> mailing
> > > > > list who said that he is using Java 1.6 compiler and JDK7 in Maven.
> > > >
> > > > Would that change anything? Using JDK 8 for Maven and using JDK 6 for
> > > > compiling/test...
> > > >
> > > >
> > > > > Serious discussion would uncover pros/cons and impact analysis.
> > > > >
> > > > > I would have a problem with Java 1.8 in target and source code but
> I
> > > > > have problem that we excluded our users from the VOTE.
> > > >
> > > > > Regarding Java 1.7 we clearly uncovered the migration plan,
> versions
> > of
> > > > > plugins, core etc. Here nothing like that exists - only that
> somebody
> > > > > created a Jira ticket.
> > > >
> > > > Hm...all plugins etc. running on JDK 7+...so in the first step we
> just
> > > > upgrade the minimum for Maven Core only (3.7.0)... (Apart from
> having a
> > > > plugin which is JDK8 minimum already).
> > > >
> > > > Plugins can upgrade to JDK 8 minimum as needed/wished afterwards (may
> > be
> > > > we could do a version identification...but at the moment I don't see
> a
> > > > need for that cause they work on JDK7+).
> > > >
> > >
> > > Also, to my mind, unless the plugin specifically needs features in
> Maven
> > > 3.7.0 there is added reason for the plugin to stay on JDK7 until it
> bumps
> > > the core version of Maven it depends on (or it finds a use-case
> requiring
> > > Java 8)
> > >
> > > Finally, upgrading to Java 8 is basically a must have for easier TLS
> > > certificate validation as the JDK7 distributions do not all have good
> > > current TLS root certs
> > >
> > >
> > > > Kind regards
> > > > Karl Heinz Marbaise
> > > >
> > > > >
> > > > > Technically I would be interested if somebody could explain what
> NEW
> > > > > Security API is in Java 1.8 and performance impact of Streams API.
> > > > > That's the impact in the source code.
> > > > > Somebody has other questions too.
> > > > > Then we can write Wiki as well as rules, conditions and plan.
> > > > >
> > > > > Cheers
> > > > > Tibor17
> > > > >
> > > > > On Thu, Oct 3, 2019 at 4:55 PM Karl Heinz Marbaise <
> > [hidden email]
> > > > > <mailto:[hidden email]>> wrote:
> > > > >
> > > > >     On 03.10.19 14:15, Elliotte Rusty Harold 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.
> > > > >
> > > > >     Hm.. first Java 7 is out for eight years now (2011) (End of
> live)
> > > and
> > > > >     has no public updates for security/bug fixes etc. since 2015
> > > > >
> > > > >     Furthermore Java 8 is out for five years (2014) so to be
> honest I
> > > > >     wouldn't trust an environment which is not upgrading etc. in
> > > > particular
> > > > >     in a clould environment...
> > > > >
> > > > >     Why hadn't started Google to update their environment over the
> > time
> > > > to
> > > > >     JDK 8 etc. (I think they have much more resources than anyone).
> > > > >
> > > > >
> > > > >     One more thing is:
> > > > >        There is a difference between running Maven to build for
> > example
> > > > >        with JDK 8 and running your resulting artifacts (see
> toolchain
> > > > >     comment
> > > > >        from Stephen Connolly..
> > > > >
> > > > >     Kind regards
> > > > >     Karl Heinz Marbaise
> > > > >
> > > > >
> > > > >     [1]:
> > > > >
> > > https://www.oracle.com/technetwork/java/java-se-support-roadmap.html
> > > > >
> > > > >
> > > > >      >
> > > > >      > On Sat, Sep 28, 2019 at 8:04 AM Robert Scholte
> > > > >     <[hidden email] <mailto:[hidden email]>> 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: [hidden email]
> > > > For additional commands, e-mail: [hidden email]
> > > >
> > > >
> > >
> >
>