If you are going mad trying to figure out the dependencies between lots of Eclipse plug-ins, or work with other large OSGi systems, you may be interested in this.

We’ve had a few people looking for an Eclipse/OSGi backend for Structure101, and with all the hype about OSGi lately, we decided to lift the lid on it.  Here is an early version that you can download. If you’re an Eclipse user, just point it at your plugins directory to see the same kind of views, hierarchies and slices that you get with the Java version.

Below is a random screen shot of my Eclipse plug-ins to give you the idea (click for the full-size image).

It’s pretty rough at the moment – the download page indicates where we’ve made some arbitrary decisions on the model structure and where we think it’s probably not quite right. I’d love some comments from OSGi heads on if/how you’d like us to change it to make it more finished. If you think you’d find it useful, talk to Paul about an extended license key.


  1. BJ Hargrave

    I am an “OSGi head” (actually OSGi CTO :-). Whilst I don’t use Structure101, I would be happy to help with any OSGi questions you may have.

  2. Glyn Normington

    Sounds useful! I’ll add a pointer to my blog, which often deals with OSGi. It would be interesting to run this against the Apache Harmony OSGi manifests to visualise the dependencies.

  3. Aehso

    Sweet! Looks useful Chris (from one of the OSGi heads!)

    I should know this, but I can’t remember – can Structure generate a top-down dependency tree diagram?

    Eclipse doesn’t like allowing circular dependencies between plugins so a lot of OSGi dependency diagrams could be represented by trees rather than graphs, which can be a little hard to decipher with all the crossed lines and what not.

    Also, the ability to group subsets or bundles by feature might also be useful in helping decompose large scale models, but that would be a Eclipse (rather than OSGi) centric layer on top…

  4. Chris

    Hi Aehso. When you say tree do you really mean acyclic graph? I.e. I presume that a plugin can be used by more than one other plugin (which would not be the case for a tree)?

  5. Aehso

    Yep, sorry an acyclic graph is the correct representation (duh)…

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This site uses Akismet to reduce spam. Learn how your comment data is processed.