[ 
https://issues.apache.org/jira/browse/MNG-7539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17806998#comment-17806998
 ] 

Adrian Tarau commented on MNG-7539:
-----------------------------------

Maven 3.8.3. That's correct ... "resolve snapshot". Since it is a snapshot, 
once the first attempt (for the current multi-module project) to resolve a 
snapshot is successful, the answer should be cached.

The current behavior of Maven is to "resolve" a snapshot every time a module 
has that snapshot dependency. The only thing I'm saying here is that Maven 
should not attempt to check if the snapshot changed, it should use the same 
snapshot for any other module under the reactor build.

 

I might be able to capture the output for some open-source projects...I'll come 
back with an example.

> Validate/Download SNAPSHOT dependencies once
> --------------------------------------------
>
>                 Key: MNG-7539
>                 URL: https://issues.apache.org/jira/browse/MNG-7539
>             Project: Maven
>          Issue Type: Improvement
>          Components: Dependencies
>            Reporter: Adrian Tarau
>            Priority: Major
>
> Building an unreleased multi-module project (30-40 modules) that depends on 
> various other unreleased modules puts significant pressure on the Maven 
> Repository (a local Nexus instance), and artifact resolution could slow down 
> the build 2x-3x.
> I do acknowledge that it is the job of the repository to cache and serve 
> those responses fast, and for some reason, sometimes it slows down without an 
> apparent reason.
> However, the whole build process will be faster if Maven validates a SNAPSHOT 
> once for multi-module (when the dependency is reached the first time) and 
> then use that version. Even if Maven Repository is relative fast, there is 
> still network traffic done. Outside the fact that it should not be done, it 
> might also introduce flaky behaviors:
>  * one module downloads a version of artifact A, works with it, and 
> everything is fine
>  * 10 minutes later, another module needs artifact A and gets a newer 
> version, which has some issues, and various (test) failures will be raised
> For consistency, on a multi-module build, all modules should _see_ the same 
> version of a SNAPSHOT artifact. It will be faster, and it will be consistent 
> (which is very important).
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to