Unlike tools that require package dependency information to be maintained manually, Bndtools uses bytecode analysis to accurately calculate the dependencies of your OSGi bundles.
Bndtools features a pluggable repository model for bundles, that may be referenced at build-time and also used to satisfy runtime dependencies. Repository plug-ins exist for OBR and Maven/Nexus.
Bndtools uses the OSGi Resolver standard to resolve runtime depedencies, allowing us to concentrate on just the "top-level" bundles that comprise our application.
The “Release” feature enables releasing bundles into repositories. During release, the bundles are compared against the previous baseline for changes, and the package/bundle versions are calculated automatically. This frees developers from having to reason about complex versioning issues.
Eclipse automatically compiles your Java source code whenever you save — this is “The Eclipse Way”. Bndtools goes one step further and automatically assembles your bundles whenever the inputs to it are changed. As a result, your bundles are always up to date with the latest code, and ready to run!
Bndtools incorporates an integrated test runner for OSGi that launches an OSGi framework containing a selection of bundles, executes the test cases declared in those bundles, and shuts down OSGi. The whole process takes mere milliseconds and results are reported in the standard Eclipse JUnit view.
Bndtools is Open Source Software, distributed under the terms of the Eclipse Public Licence.