|Re: [cross-project-issues-dev] Throwing semantic versioning out the window with Require-Bundle/Import-Package with empty/single version|
Recently I've discovered a binary incompatible change in one of p2
bundles  and the way p2 and Tycho specifically use version ranges
What is a justification, in context of OSGi and Eclipse in general, for
not using versions at all or just a specific single version when
importing bundles/packages like
OSGi Specification in 3.2.5 Version, 3.2.6 Version Ranges and 3.7.3
Semantic Versioning says:
The default value for a version is 0.0.0.
Examples of version ranges
1.2.3 1.2.3 <= x
Version ranges encode the assumptions about compatibility.
Which means that for version-less requirement any version apply and for
a single version requirement any version greater than or equal apply.
How to specify plug-in requirements  says the same:
Plug-ins that require other plug-ins must qualify their requirements
with a version range since the absence of a version range means that
any version can satisfy the dependency. ... the recommended range
includes the minimal required version up-to but not including the
next major release.
Version-less or single version requirement effectively throw these
assumptions about compatibility out the window. Either I'm missing
something important and there reasons for this or ...?
cross-project-issues-dev mailing list
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
Back to the top