Hi,

how are you calling Maven? And which version of Maven do you use?

Furthermore I've got the impressions that those modules belong together ?

Kind regards
Karl Heinz

On 8/3/16 8:10 PM, Thiebaud, Christophe wrote:
Hi All,



The title says it all.



Any suggestions how to overcome this issue ?



Explanation below. Let the projects be:



‘parent’ : the parent pom of the ‘lib’ library just below

‘lib’ : the library

‘app’ : the application dependent on ‘lib’ through a version range.



(all three minimalistic sample projects here: https://github.com/iroif)



[cid:image001.png@01D1EDA2.91747B70]



Here is what happens during time, when versions are bumped and projects are 
deployed to remote repo:



day 0



‘parent’ 0.0.1-SNAPSHOT is deployed to remote repo

‘lib’    0.0.1-SNAPSHOT is deployed to remote repo

‘app’ builds OK



day 1



‘parent’ 0.0.1-SNAPSHOT is still on remote repo

‘parent’ 0.0.2-SNAPSHOT is deployed to remote repo

‘lib’    0.0.1-SNAPSHOT is still on remote repo

‘app’ builds OK



day 2



‘parent’ 0.0.1-SNAPSHOT is still on remote repo

‘parent’ 0.0.2-SNAPSHOT is still on remote repo

‘lib’    0.0.1-SNAPSHOT is still on remote repo

‘lib’    0.0.2-SNAPSHOT is deployed to remote repo

‘app’ builds OK



day 3



‘parent’ 0.0.1-SNAPSHOT is automatically evicted from remote repo by some rule

‘parent’ 0.0.2-SNAPSHOT is still on remote repo

‘lib’    0.0.1-SNAPSHOT is still on remote repo

‘lib’    0.0.2-SNAPSHOT is still on remote repo

‘app’ build FAILS



this is because maven tries to build the pom for ‘lib’ 0.0.1-SNAPSHOT and fails 
as ‘parent’ 0.0.1-SNAPSHOT is not available anymore.



However, IMHO, the build of ‘app’ should not fail as there is another valid 
dependency resolution : ‘lib’ 0.0.2-SNAPSHOT with ‘parent’ 0.0.2-SNAPSHOT.



In fact, when the relationship between parent and lib is a dependency (and not 
a parent-child relationship), the build of ‘app’ succeeds, even when transitive 
dependency to ‘parent’ 0.0.1-SNAPSHOT cannot be resolved.



Note that ‘app’ build is successful again, when on day 4, ‘lib’ 0.0.1-SNAPSHOT 
is in turn evicted:



day 4



‘parent’ 0.0.2-SNAPSHOT is still on remote repo

‘lib’    0.0.1-SNAPSHOT is automatically evicted from remote repo by some rule

‘lib’    0.0.2-SNAPSHOT is still on remote repo

‘app’ build resumes OK



Any suggestions how to overcome this issue ?



We have builds failing every other day in our build farm for this reason.



Thanks!

Christophe

PS. The content of this mail is duplicated here : 
https://github.com/iroif/iroif-parent




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

Reply via email to