[ 
https://jira.codehaus.org/browse/MNG-3092?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=350882#comment-350882
 ] 

Sergei Ivanov commented on MNG-3092:
------------------------------------

Yes, it is possible to work around snapshots creeping in _at the boundary_ of 
version ranges by changing version ranges from e.g. [1.1.0,1.2.0) to \[1.1.1, 
1.1.999\], and this is precisely what our team had been doing in the last three 
years. That does not mean that "the current functionality works fine". It only 
means that there is a workaround for one of the cases where it does _not_ work 
fine. As Mark correctly pointed out, it still does not solve the problem of 
snapshots creeping in _inside_ the version ranges, and we had to set up a 
separate local repository for release builds to make sure it was not 
contaminated with snapshots.

But in a way it is true that this bug has almost become a feature by now. Given 
that it's recently reached a mature age of seven without any hint of a 
resolution, we may as well give up waiting.

> resolution of version ranges with non-snapshot bounds can resolve to a 
> snapshot version
> ---------------------------------------------------------------------------------------
>
>                 Key: MNG-3092
>                 URL: https://jira.codehaus.org/browse/MNG-3092
>             Project: Maven
>          Issue Type: Bug
>          Components: Dependencies
>            Reporter: Mark Hobson
>            Assignee: Jason van Zyl
>             Fix For: 3.2.x
>
>         Attachments: MNG-3092.patch, MNG-3092.patch
>
>
> Contrary to the 2.0 design docs:
> "Resolution of dependency ranges should not resolve to a snapshot 
> (development version) unless it is included as an explicit boundary."
> -- from 
> http://docs.codehaus.org/display/MAVEN/Dependency+Mediation+and+Conflict+Resolution#DependencyMediationandConflictResolution-Incorporating%7B%7BSNAPSHOT%7D%7Dversionsintothespecification
> The following is equates to true:
> VersionRange.createFromVersionSpec( "[1.0,1.1]" ).containsVersion( new 
> DefaultArtifactVersion( "1.1-SNAPSHOT" ) )
> The attached patch only allows snapshot versions to be contained in a range 
> if they are equal to one of the boundaries.  Note that this is a strict 
> equality, so [1.0,1.2-SNAPSHOT] will not contain 1.1-SNAPSHOT.



--
This message was sent by Atlassian JIRA
(v6.1.6#6162)

Reply via email to