maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergei Ivanov (JIRA)" <>
Subject [jira] (MNG-3092) resolution of version ranges with non-snapshot bounds can resolve to a snapshot version
Date Sun, 03 Aug 2014 02:26:13 GMT


Sergei Ivanov commented on MNG-3092:

Yes, it is possible to work around snapshots creeping in _at the boundary_ of version ranges
by changing version ranges from e.g. [1.1.0,1.2.0) to \[1.1.1, 1.1.999\], and this is precisely
what our team had been doing in the last three years. That does not mean that "the current
functionality works fine". It only means that there is a workaround for one of the cases where
it does _not_ work fine. As Mark correctly pointed out, it still does not solve the problem
of snapshots creeping in _inside_ the version ranges, and we had to set up a separate local
repository for release builds to make sure it was not contaminated with snapshots.

But in a way it is true that this bug has almost become a feature by now. Given that it's
recently reached a mature age of seven without any hint of a resolution, we may as well give
up waiting.

> resolution of version ranges with non-snapshot bounds can resolve to a snapshot version
> ---------------------------------------------------------------------------------------
>                 Key: MNG-3092
>                 URL:
>             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
> 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

View raw message