Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Invalid
-
2.2.0
-
None
-
None
-
Maven Ant Tasks 2.1.1. Windows & Mac.
Description
Maven allows unbounded version ranges of the form: [1.2.3,] meaning version 1.2.3 or any later version. When Ivy interprets POMs with this format it causes errors like:
[ivy:resolve] module not found: invalid.example#somelib;[1.2.3,]
[ivy:resolve] ==== m2-local: tried
[ivy:resolve] C:\Documents and Settings\joeuser\.m2\repository/invalid/example/somelib/[1.2.3,]/somelib-[1.2.3,].pom
[ivy:resolve] – artifact invalid.example#somelib;[1.2.3,]!somelib.jar:
[ivy:resolve] C:\Documents and Settings\joeuser\.m2\repository/invalid/example/somelib/[1.2.3,]/somelib-[1.2.3,].jar
[ivy:resolve] ==== mapsrv: tried
[ivy:resolve] http://some-repo.example.invalid/artifactory/repo/invalid/example/somelib/[1.2.3,]/somelib-[1.2.3,].pom
Note that unbounded ranges like [1.2.3,) behave correctly. I imagine there could be similar problems for ranges like [,1.0], but I haven't tested them in either Ivy or Maven.
Here's some information about Maven version ranges, it doesn't explicitly list [1.2.3,] as a possibility, but Maven accepts it as a valid range nonetheless.
http://docs.codehaus.org/display/MAVEN/Dependency+Mediation+and+Conflict+Resolution#DependencyMediationandConflictResolution-DependencyVersionRanges