On 16/09/2009, at 8:18 PM, Benjamin Bentmann wrote:

Ignoring for the moment that neither "3.0-!" nor "3.0.0.!" are OSGi- conformant versions, the OSGi version ordering also implies

 3.0 == 3.0.0 < 3.0.0.20090915-152839-2 < 3.0.0.GA < 3.0.0.SNAPSHOT

So I'm not sure how much we can borrow from OSGi for Maven.

IIUC, The code that Hervé pointed to now has a number of workarounds so that OSGi works in most of its current uses, and Maven versions work in most of its current uses - but it doesn't conform to the spec of either. ie, alpha, beta, rc, cr, milestone and snapshot are all before the release, the rest after. I think this would have been a good idea if we'd done it to start with, but I'm sure there are weird versions out there that might cause confusion (only mediated by the fact that people don't use ranges all that often).

I think there are 3 options here:
- keep adding more special cases in the version comparer for things like ! - declare a break in compat (this may result in having to make repository changes to preserve functionality though in a mixed environment) - restore the Maven 2 behaviour and make each place a range is used configurable so that OSGi can be used as an alternatives - for example - osgi:[x.y.z.q,) vs mvn:[x.y.z,)

Cheers,
Brett
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to