[
https://jira.codehaus.org/browse/MNG-3092?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=323037#comment-323037
]
Jesse Glick commented on MNG-3092:
----------------------------------
An example using Maven 3.0.5:
https://github.com/stapler/stapler-adjunct-codemirror/commit/da995b03a1f165fef7c9d34eadb15797f58399cd
shows the workaround for what I take to be this issue. In versions of Jenkins
using stapler-adjunct-codemirror 1.1 prior to this change?and plugins depending
on those versions of Jenkins?at least one build per day spends a chunk of time
(10?20s?) looking for nonexistent SNAPSHOT versions of a transitive dependency.
(Where it gets these version numbers from, I have no idea?the Artifactory
mirror makes no mention of such versions in {{maven-metadata.xml}}, and the
occurrences in my local repo are all freshly created
{{resolver-status.properties}} and {{stapler-1.176-SNAPSHOT.pom.lastUpdated}}
files which list only ?errors? and soon get recreated if I delete them.)
Maven 2.2.1 also downloads 1.208-SNAPSHOT, which _does_ exist, but none of
these intermediate versions.
I have also encountered builds that _failed_ trying to find one of these
nonexistent snapshots, though I cannot now reproduce this problem.
> 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