[ https://jira.codehaus.org/browse/MNG-3092?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=322906#comment-322906 ]
Sergei Ivanov commented on MNG-3092: ------------------------------------ @Scott: I am deliberately trying to *not* consider anything but snapshots in the context of this issue. As Herve noted [above|https://jira.codehaus.org/browse/MNG-3092?focusedCommentId=314137&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-314137], resolution of pre-release versions is partially covered by MNG-5353, but it is a much wider and more complex issue. Unless someone from Maven core team volunteers to engineer a complete solution, we may be better off focusing on and solving only the most painful issue, which is this very MNG-3092. I am proposing a solution that will only affect snapshots and will hopefully remove the major pain that we are experiencing on a daily basis. A solution that allows to reuse the same POM file for building against either snapshots or releases. Without the need to edit ranges in the POM file on a regular basis (and the unwillingness to edit POMs every time the dependency is released is the very reason that we use dependency ranges in the first place). > 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