Hi,
is there a policy on specifying the version ranges in bundle
dependencies for Papyrus-RT?
While double-checking the dependencies on plug-ins I intend to
add to Papyrus-RT, I checked a few existing plug-ins and it seems
that the version ranges are not always specified consistently
across all plug-ins. For instance, in core/ the min versions are
specified, except for eclipse.core.runtime or eclipse.ui, which has
no version range. Max version is never specified. In common/,
however, we have min and max versions for eclipse.ui and
eclipse.core.runtime, and only min for internal dependencies.
So I thought I put this topic up for discussion, whether such
a policy should be introduced.
In other projects, such as EMF Forms, we always set min and
max versions for all (eclipse platform, external projects, and
internal plug-ins) as follows:
* min inclusive of the earliest version we intend to
support; typically, this is at least the current version at the
time of adding the dependency
* max exclusive of the next major, if only public API
is used from the dependency
* max exclusive of the next minor, if also "SPI" /
"internal API" is used
Thus, the typical dependency would look like this, if only
public API is used:
org.eclipse.papyrus.infra.core.log;bundle-version="[1.2.0,2.0.0)"
While this certainly demands some additional effort in setting
it up and maintaining it, it enables quite high level of security
to detect API issues early and avoid version conflicts.
Thanks and best wishes,
Philip
--
Philip Langer
Senior Software Architect / General Manager
EclipseSource Services GmbH
To change your delivery options, retrieve your password, or unsubscribe from this list, visit