On Sat, 28 Sep 2019 16:53:00 +0200, Enrico Olivelli <eolive...@gmail.com> wrote:

Robert,

Il sab 28 set 2019, 14:04 Robert Scholte <rfscho...@apache.org> ha scritto:

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.


This is really cool, I hope we get something like this very soon.

One overall comment from me is about using XML and particularly SAX.
We will have our Maven XML library but the core principle is that all of
the transformations are in a streaming fashion, there is no overall view of
the whole document, and you cannot go backward and you can't see the tags
after the current point.
SAX is more memory efficient but if this will be a base for the future we
should take into account future needs.

The choice for using XMLFilters is to be able to keep order of elements and also keep the comments (assuming the distributed pom is still an important source of information, otherwise we could decide to just recreate a new pom). Validating *after* the resolved pom (phase 2, but before inheritence) will probably need extra care, since there might be an issue with the input location.

So please have a good look. As said, it will only be activated with the special flag and we simply need to start somewhere. It is all about collection first experiences, see what works and what doesn't.

Robert


I will review carefully the patch when the approach is agreed by the
community. I have already taken a first look, if you create the pull
requests I can add comments

Enrico



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


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

Reply via email to