You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Bruno Medeiros (JIRA)" <ji...@codehaus.org> on 2011/09/22 21:47:17 UTC

[jira] Commented: (MNG-3092) Version ranges with non-snapshot bounds can contain snapshot versions

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

Bruno Medeiros commented on MNG-3092:
-------------------------------------

I agree someone can find some usefulness in resolving a snapshot with neither the lower limit nor upper limit of the range being a SNAPSHOT, but to support these cases we're transforming version ranges in a useless function IMHO.

Resolving a snapshot without any snapshot boundary makes no sense to me. It's against the own concept of ranges. If you declare a range, you are saying that you project WILL work with any version that matches this range, so why people say that the snapshot should be resolved? why would you choose a snapshot if you can choose a release as both match? If you need something that is only on the latest snapshot, you should go to you pom and change the range boundary to say that.

Have such a bug open for this long time, without a workaround, is a shame! If the community don't agree about a solution, so let's use the most voted, the one the project leader decides, or whatever. Do NOTHING just to be backward compatible is the WORST option.

> Version ranges with non-snapshot bounds can contain snapshot versions
> ---------------------------------------------------------------------
>
>                 Key: MNG-3092
>                 URL: https://jira.codehaus.org/browse/MNG-3092
>             Project: Maven 2 & 3
>          Issue Type: Bug
>          Components: Dependencies
>            Reporter: Mark Hobson
>         Attachments: 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 is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira