Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

A composite bundle is declared using a set of manifest-like headers, which is familiar to bundle developers and fits well with the virtual bundle proposal, where virtual bundles are installed with a given set of headers. Many existing headers are reused to declare a composite bundle, but not all are applicable (e.g., Bundle-ClassPath, Bundle-Activator, Bundle-NativeCode, Bundle-ActivationPolicy). Other than explicitly disallowed headers, all other headers maintain their normal meaning. For example, code dependencies are handled by:

  • Import-Package - the packages imported by the composite bundle.
  • Export-Package - the packages exported by the composite bundle.
  • Require-Bundle - the bundles required by the composite bundle.

For service dependencies, this proposal resurrects the following headers:

  • Import-Service - the services imported by the composite bundle (exact syntax is yet to be defined, but a list of filters is a reasonable starting point).
  • Export-Service - the services exported by the composite bundle (exact syntax is yet to be defined, but a list of filters is a reasonable starting point).

A new header is introduced to declare the composite's constituent bundles:

  • Include-Bundle - A comma-separate list of bundle URLs.

To simplify matching a composite's exported packages to its contained bundles, this proposal introduces a new from directive for Export-Package, which is used to specify the symbolic name of the providing bundle. Consider the following composite declaration:

...