Skip to content

Upgrade to the new OSGi Resouce/Wiring API as much as possible #53

@laeubi

Description

@laeubi

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions