[ https://jira.codehaus.org/browse/MNG-3092?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=323514#comment-323514 ]
Nils Knappmeier commented on MNG-3092: -------------------------------------- I digged through the Maven Code last week and I'm surprised that no one has mentioned MNG-4751 in any comment of this issue. On 8/Apr/2010, there was a change by Benjamin Bentmann with MNG-3092 in the commit comment. The change modified the Restriction-class so that SNAPSHOTS would only be allowed if a boundary contained a SNAPSHOT. The change was reverted on 15/Sep/2010 because of MNG-4751 ("Even with a snapshot dependency in the pom, a release version is included in the classpath for compilation", if another dependency contains a version range with release-boundaries for this artifact). I therefore think, this issues (MNG-3092) can only be solved by some kind of soft restriction. A range with release-boundary must be able to include SNAPSHOT-dependencies, but release-dependencies should have preference. > 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