maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mark Derricutt (JIRA)" <>
Subject [jira] Commented: (MNG-3092) Version ranges with non-snapshot bounds can contain snapshot versions
Date Wed, 30 Jun 2010 10:43:38 GMT


Mark Derricutt commented on MNG-3092:

Looks like the nightly SNAPSHOTs are actually broken in respect this
as well, for some reason my machine had reverted its path settings.

Anyway, I've set up a sample repo with two projects that demonstrate
this problem:

In this repo, the dependency on releasetest-api is set at
(1.0.0,2.0.0) - which should pick up the 1.3.5-SNAPSHOT, and under
2.2.1 it does, but under 3.0 it doesn't.

I can understand the reasoning behind limiting the SNAPSHOT resolution
for day-to-day projects and for releases, but in the instance of a
C.I. build server doing integration tests, you really want those
SNAPSHOTs to resolve and be used.

If I'm working on 2-3 modules locally I'd also want them to pick up
those SNAPSHOTs without having to release things all the time.

If this change is going to go ahead for the final M3 release, how are
we supposed to use ranges in any sane fashion?  We tend to stick to a
model of bumping the major version number on "backwards incompatible
API changes", the minor number on "API addition changes" and the 3rd
patch number for general revs of a bundle.  If we were to release all
the time just to satisfy ranges, we could be bumping major/minors
quite often...

Look forward to hearing some comments from you all.

> Version ranges with non-snapshot bounds can contain snapshot versions
> ---------------------------------------------------------------------
>                 Key: MNG-3092
>                 URL:
>             Project: Maven 2 & 3
>          Issue Type: Bug
>          Components: Dependencies
>            Reporter: Mark Hobson
>            Assignee: Mark Hobson
>             Fix For: 3.0-beta-1
>         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
> 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:
For more information on JIRA, see:


View raw message