You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by Alexander Ashitkin <as...@gmail.com> on 2019/10/05 02:51:34 UTC

Re: [DISCUSS] Maven 3.7.0

Totally support java 8. There is nothing to discuss here. Not sure everyone realizes that, but it's 2019 already. 

Regarding the new features:
1) as you mentioned the new model, i think it will be good to introduce simple build graph balancing hints in the model. It is possible to examine critical path of the build, but not much you can do about that. Maven by itself has no knowledge of critical path and as developer i have no any tools to apply this knowledge. Though theoretically simple priority attribute at project level could help scheduler to work on a critical path first. 
2) i like idea of grade api/implementation dependencies model in terms of java modules system compatibility. So you expose api and hide implementation. It feels like new packaging for jigsaw modules are very welcome.
3) i feel like model have to be reworked to immutable form, so concurrent code is easier to write. Current modello objects look unsafe in concurrent code. Though correct implementation is possible of course, but it takes a lot of efforts to examine correctness. Makes sense to rework current model to builders + immutable thread safe domain objects
4) From cache implementation perspective - i'd like to have metadata support on plugin parameters and project properties. That simplifies understanding of plugins behavior.

Thank you
Aleks

On 2019/09/28 12:05:34, "Robert Scholte" <rf...@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-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
> 
> 

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