Eclipse Bundle Recipes

Primary tabs

Scope: 

The scope of the EBR project is to provide template files and tools for creating bundles for open source Jars. Scoping the project to templates rather than the resulting bundles facilitates bundle creation for a wide variety of open source projects, not just those with licenses acceptable to the Eclipse Foundation. Only templates whose creation and use do not violate the license of the original Jar will be permitted.

The EBR project is aimed at open source Jars which do not already have reasonable OSGi manifests. If a project originating such a Jar provides a reasonable OSGi manifest for a subsequent version of the Jar, then the EBR project will discontinue its support of the JAR (for new versions - existing versions of the template will remain in the EBR project for anyone who needs them) in order to encourage the community to treat the originating project as the preferred source of the corresponding bundle. This is deemed to be a success story for the EBR project.

Enhancements/extensions to tools (such as Virgo Bundlor, Maven, Tycho and others) may be necessary to handle identification and processing of the Jar to which a template applies.

The primary goal of the project is the provision of templates, but the project should also consider the following enhancements to the Eclipse Marketplace and Client:

  1. A new 'OSGi Bundles' market with entries for bundles (provided outside the EBR) and templates from EBR. These bundles and templates would be subject to the usual Marketplace publishing restrictions.
  2. Browser-based Bundlor equivalent for consuming templates from the Marketplace and creating the resulting bundle.
  3. Modification of the Eclipse Marketplace Client so that bundles from the OSGi Bundles market can be discovered directly in the Eclipse IDE and pulled into the user's workspace or PDE target platform. This is different to how the IDE operates with the Marketplace today as that interaction causes plugins to be installed into the IDE itself.

Although the bundles, which may be generated from the project, will not be hosted at Eclipse, anyone who is able to may generate and host those bundles, for example in a Maven repository. Companies may choose to do this internally to provide repeatable builds. A vendor may choose to generate and publish the bundles to a publicly visible repository.

A longer term goal of the project is to provide an OSGi R5 Repository API implementation to programmatically search the bundle metadata associated with the generated bundles.