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

Mark Hobson commented on MNG-3092:
----------------------------------

Hi all, good to see some discussion on this long-standing issue!  This is not 
currently a pressing issue for me, hence my absence, but it's a big thorn in 
Maven's side that I'd love to see removed.

Re-reading the comments here, I see three main issues:

1) The original problem of not being able to control version ranges resolving 
to snapshots
2) How to perform CI with projects that use version ranges
3) A degradation of performance in Maven3 when resolving version ranges

The latter performance problem (3) should be raised as a separate issue if one 
does not exist already.  I have witnessed this and doubt that there would be 
any objections to fixing it.

The CI problem (2) appears orthogonal to the original issue.  How to build the 
latest versions of projects against each other in CI is a problem that 
currently exists *without* version ranges.  A mechanism to support real 
continuous integration between project builds sounds like a separate feature 
request, whether they use soft versions or version ranges.

I don't buy the argument that a flag is required to change version range 
resolution behaviour just because updating dependency versions in POMs takes 
too much time.  The workflow with version ranges should be the same as with 
soft versions (snapshot, release, snapshot), only now we're changing the upper 
bound instead.  The release plugin helps automate this currently and there's no 
reason why it couldn't also help with version ranges too.

This leaves us with the original issue which I believe just needs to be fixed.  
I'm happy to help discuss this particular issue with the rest of the 
development team so we can close this long-standing bug.  Satisfying everyone's 
particular workflow is going to be out of scope for this issue, so I'd suggest 
raising new issues for your specific use-cases.
                
> 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
>            Assignee: Jason van Zyl
>             Fix For: 3.1.1
>
>         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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to