OverviewBushel provides utility classes for Ant Ivy that allow a developer to use a directory of OSGi bundles as a dependency repository. It does this through a custom metadata parser that converts a MANIFEST.MF file into a valid ivy.xml. The aim is to assist IDE-free OSGi development and continuous integration best practice.
Current limitations are that Import-Package and Export-Package parameters in the manifest file are ignored, however Require-Bundle is honoured.
ExampleThe Bushel example bundle is based on the Eclipse PDE/New Plug-in Project/OSGi Simple LogService Example.
It includes all the Ant and Ivy scripts required to compile and run the bundle, and can be used as a template for your own project.
To use the Ant script, you must provide the path to the Eclipse home dir (the parent dir of the plugins/ dir) using -Declipse.home=/path/to/eclipse. It provides the following targets:
ant compile - Compile your bundle using Ivy to generate the classpath. ant bundle - Package your bundle jar ready for deployment. ant run - Run your bundle in equinox in console mode. Try ss, or diag 2, or help, and then finally close, to exit.
TODOImport-Package/Export-Package support. Examples with other OSGi containers (Felix, Knoplerfish etc). Eclipse Update site support. Check out the project Issues for more detail.