maven-issues mailing list archives

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


Mark Derricutt commented on MNG-3092:

As mentioned in Aether release notes, since 0.9 (
) Aether has support using 2.* which would resolve anything from 2.0 up to 2.99999999 but
NOT 3.0-SNAPSHOT or 3.0. If this was support by maven itself then Richards convention would
no longer been needed - correct?

The other side of the question is ( and I think this has been discussed here and elsewhere
) is that its not that the resolution of "the range" that shouldn't include the SNAPSHOTs
but what it chosen _from_ the range. Maven already supports basic filtering of this with snapshot
enabled/disabled repositories, but sadly the local repository contains both - I'd rather see
SNAPSHOTs be installed into a different localRepository than releases, that would make a)
cleaning up snapshots easier b) filtering like we want in this ticket ( this does eventually
run off into the question of upper/lower bound resolution as well, but thats a large can with
a LOT of worms ).

> 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