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

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

Hmmm...I cannot replicate this with my open-source project, which is based on 
the Apache parent POM... it only downloads each dependency once, which is the 
behavior I expect.

However, it does not behave the same with the projects at the office. The 
snapshot repository has the same settings in the important places:


{noformat}
 <repository>
    <releases>
        <enabled>false</enabled>
    </releases>
    <snapshots>
        <enabled>true</enabled>
        <updatePolicy>always</updatePolicy>
        <checksumPolicy>fail</checksumPolicy>
    </snapshots>
    <id>....</id>
    <name>...</name>
    <url>...</url>
</repository>{noformat}
I need to investigate this a bit more. It is not clear at this point what 
triggers this behavior change.

> 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
>            Assignee: Tamas Cservenak
>            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