You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "John Casey (JIRA)" <ji...@codehaus.org> on 2008/07/04 02:29:27 UTC

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

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

John Casey commented on MNG-3092:
---------------------------------

I'd tend to favor the approach suggested by kenney on the mailing-list thread for this issue. Something like:

{noformat}
[1.1-1.2]{snapshots=false}
{noformat}

would approximate the sort of advice given to regular expressions in other languages (and maybe in java, can't remember), so there is some precedent. IMO, we can't find a "pure" way to switch this behavior on/off using straight range syntax as we've used it before.

Also, it's legitimate to me to exclude snapshots, since by definition snapshots are part of a development effort...as such, they could contain major regressions and other nasty bugs from version to version. So having a range like the above, I'd almost say the default should *exclude* snapshots, and use something like '\{snapshots=true}' to *enable* them...

I'm happy to put this code in place, but it may have to wait for 2.0.11 so we can have some soak time, to make sure it doesn't hose anything else.

> Version ranges with non-snapshot bounds can contain snapshot versions
> ---------------------------------------------------------------------
>
>                 Key: MNG-3092
>                 URL: http://jira.codehaus.org/browse/MNG-3092
>             Project: Maven 2
>          Issue Type: Bug
>          Components: Dependencies
>            Reporter: Mark Hobson
>            Assignee: Mark Hobson
>             Fix For: 2.0.11
>
>         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.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira