[ http://jira.codehaus.org/browse/MNG-3092?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=251744#action_251744 ]
Markus KARG commented on MNG-3092: ---------------------------------- I want to vote for a clean and intuitive design: [1.5, 1.6) must not include SNAPSHOTs, [1.5, 1.6-SNAPSHOT) must include SNAPSHOTs. This is absolutely intuitive to most Maven beginners I have asked about their feeling, and it is simple to fix for those why rely on snapshots. I do neither like the idea to make it more complex to exclude snapshots as it is SO SIMPLE AND CLEAR TO READ as writing -SNAPSHOT to include them, nor do I like the idea to wait for more months to get a solution finally. Also I want to point out that it is just obvious that if my project is dependent on a third party library, writing [1.5, 1.6) means that I want specification version 1.5 with latest bug fixes but not features in progress, which is the mosty typical use case. The only case I do see when I want to include SNAPSHOTS is when I do have the dependency in the reactor. Why not making just this single difference? Then nobody must learn a new syntax, it would work as designed and intuitive, and it would actually be very intuitive to also include SNAPSHOTs from stuff in my own reactor. > Version ranges with non-snapshot bounds can contain snapshot versions > --------------------------------------------------------------------- > > Key: MNG-3092 > URL: http://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. - 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