This repository provides infrastructure for managing 3rd party dependencies based on libraries hosted at Maven Central. It augments the Eclipse Bundle Recipe EBR infrastructure traditionally used by Orbit. Many libraries hosted at Maven central are already provided in the form of OSGi bundles and can simply be reused as is, but many others need to be repackaged as bundles. Orbit has traditionally been repackaging all libraries from Maven Central using EBR, which is based on BND.
Eclipse m2e provides extensions to Eclipse PDE that allow dependencies on Maven artifacts to be expressed directly in a target platform file, including the ability to wrap a non-OSGi jar as an OGI-bundle using BND instructions. This mechanism is also directly supported by Tycho. These technologies are utilized by Orbit SimRel to evolve and modernize Orbit's infrastructure.
The maven-osgi
folder provides infrastructure for analyzing, updating, and aggregating Maven dependencies in PDE target platform files
and is used to produce a p2 update site hosting PGP-signed Maven libraries that are directly available as OSGi bundles.
The corresponding readme provides details.
The maven-bnd
folder provides infrastructure for wrapping non-OSGi Maven dependencies as OSGi bundles utilizing PDE/Tycho
and is used to produce a p2 update site hosting jar-signed Maven libraries wrapped as OSGi bundles.
The corresponding readme provides details.
The orbit-aggregation
folder provides infrastructure for aggregating a p2 repository from the following:
- Traditional EBR-wrapped OSGi bundles.
- Maven direct OSGi bundles.
- Maven BND-wrapped OSGi bundles
- Legacy OSGi bundles required by the above.
The corresponding readme provides details.
Reports detailing Maven dependencies with links to Maven Central are generated.
The corresponding readme provides details.
Contributions are welcome.
The contribution guide provides details.