Bndtools latest SNAPSHOT just got a new Bundle Graph Viewer.
The Bundle Graph view gives you an interactive, visual picture of how OSGi bundles depend on each other (Based on bundle’s Import-Package and Export-Package in the MANIFEST). Instead of reading lists of requirements and capabilities, you can see the relationships between bundles at a glance and quickly understand the impact of adding or removing a bundle from your runtime.
Use Cases:
- Understanding the transitive footprint of a bundle
- Finding out which bundles depend on a given bundle
- Investigating a failed resolution
- Comparing dependency chains across two bundles
- Reducing optional dependencies
During development I was already able to quickly identify some “strange” bundles which had unexpected relations. It’s not that this wasn’t possible before, but this new visual tool can make it pop in your eye.
which can be activated from Eclipse / Window / Show View / bndtools:
Documentation: still WIP at docs: Add Bundle Graph view documentation by Copilot · Pull Request #303 · bndtools/bndtools.github.io · GitHub
PR: Add Bundle Graph visualization view to bndtools by Copilot · Pull Request #7106 · bndtools/bnd · GitHub
High Level Concept:
- Two lists
- Left list represents the bundle Universe (drag drop from Repositories, .bndrun or Projects)
- from this list add bundles to the right. these are the ones you want to examine
- Start with a single bundle you know has dependencies
- Put the mode selector to “Selected + dependencies” or “Selected + dependants” and watch what happens.
Get latest bndtools SNAPSHOT:
- Installation & Getting Started with Bndtools - Bndtools
- GitHub - bndtools/bnd: Bnd/Bndtools. Tooling to build OSGi bundles including Eclipse, Maven, and Gradle plugins. · GitHub
Feel free to play around. Feedback is appreciated.

