On Mon, Mar 19, 2012 at 12:34 PM, Daniel Spicar <[email protected]> wrote: > ...the > potential problem here is that let's say two bundles depend on rdf.core but > different versions of it. That may cause trouble in the OSGi container....
Not necessarily - bundle dependencies should point to API bundles (or at least API packages), and it's a good idea to have a bundle depend on the oldest version that it can accept. So if you have for example bundle A requires foo API 1.1 bundle B requires foo API 1.2 both can happily run in a system which provides foo API 1.2 - and the implementation bundle of that API could be V2.5, as long as the API hasn't changed it doesn't matter. The way we handle this in Sling is that bundles depend on the oldest version of a package that they actually require, and we don't update these dependencies unless really required. This means different bundles might depend on different versions from a given API, but that doesn't really matter. The only exception is the Sling launcher jar module, which always depends on the latest versions of everything so that we distribute the latest stuff. -Bertrand
