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

David Hoffer commented on MNG-3092:
-----------------------------------

You can spin this anyway you want but the bottom line is 'The current 
functionality works fine' is a false statement and 'change the spec' is a 
horrible idea.  As with any software library or tool you want a 'no surprises' 
implementation, e.g. you want folks that use this feature to walk away saying 
yeah that worked great...just the way I expected it to work.  To say that now 
the Maven ecosystem can only work with subsets of the possible version numbers 
that folks will want to use...and yes they all will want to use version 
1.0...is a horrible idea.

If your writing a book or documenting this...I suggest that honesty is the best 
policy.  The spec as stated both makes logical sense and we can agree it has 
high practical usefulness.  So just be honest and tell folks Maven didn't make 
it on this issue (yet), you might have workarounds but at best they are just 
that...a hack or workaround...until this issue gets resolved in Maven (if 
ever).  

...just a couple more points...if the hack/workaround involves a lot of system 
configuration changes just to get this to work...that's going to turn off a lot 
of folks...e.g. give voice to the why is Maven so difficult to work with/etc 
statements.  Also I doubt that your example of [1,2) works in all cases (or 
lets make it less trivial [1.2.3,4) )...I know it didn't exclude snapshots 
within that range when I looked at using version ranges several years ago, not 
sure if it's gotten any better.

> 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