Currently PDE heavily uses the old Equinox specific resolver/state API found here (especially BundleDescription)
https://github.com/eclipse-equinox/equinox/tree/master/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver
This API actually was replaced by the official OSGi Resouce/Wiring API (especially BundleRevision / Resouce) can be found here
https://github.com/eclipse-equinox/equinox/tree/master/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/wiring
As both API are compatible in many aspects and a BundleDescription is always implements BundleRevision/Resource we should prepare the PDE code base to use that instead and it was already done in some places.
- Check places where we can already use the more generic
Resouce API or BundleRevision
- Check if we can replace calls to methods of
BundleDescription with the Resouce, we have the bndlib available in PDE that contains some utility methods that can be useful here aQute.bnd.osgi.resource.ResourceUtils
- We do not want to change any public interfaces, but may add new methods that can be used as a migration path (in wich case the old method should be deprecated)
Currently PDE heavily uses the old Equinox specific resolver/state API found here (especially
BundleDescription)https://github.com/eclipse-equinox/equinox/tree/master/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver
This API actually was replaced by the official OSGi Resouce/Wiring API (especially
BundleRevision/Resouce) can be found herehttps://github.com/eclipse-equinox/equinox/tree/master/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/wiring
As both API are compatible in many aspects and a
BundleDescriptionis always implementsBundleRevision/Resourcewe should prepare the PDE code base to use that instead and it was already done in some places.ResouceAPI orBundleRevisionBundleDescriptionwith theResouce, we have the bndlib available in PDE that contains some utility methods that can be useful hereaQute.bnd.osgi.resource.ResourceUtils