One of the great things about EclipseCon is that you get to talk one on one with the Eclipse Committers. Most of the time, you do not have access to the talented developers that write the software that you use everyday. They’re usually kept far away from the action. But Engineer to Engineer interaction is part of the game when it comes to Open Source and with EclipseCon being fundamentally an Open Source Conference, you have a lot of opportunities for interaction.
Also, I like to think of interesting and useful apps. I thought… wouldn’t it be cool if there was a way to graphically view all your plug-ins along with their dependencies? Of course, the way to do this would be with GEF.
So I chatted up the GEF Committers, Randy and Pratik, after they gave their session on GEF, asking them if anyone had done such a thing. Well it turns out they themselves already have done it and I’ve had access to it all along, but just never saw it: the Plugin Dependencies View. I think that qualifies it as an Easter Egg.
It comes with the GEF Flow Example. So you need to download Eclipse, the GEF SDK or Runtime, and the GEF Examples. Note that some releases have a GEF-All, which contains both the SDK + Examples. Unzip the GEF features and plugins into your Eclipse (or use link files, which I prefer) and then go to Show View > Other…, then pick Basic > Plugin Dependencies (GEF Example).
This will bring up a view named Plugin Dependencies (GEF Example). It is a Draw2D representation of all your plug-ins and their dependencies. It is scrollable, but that’s about it. Randy and Pratik said that they are open to feedback on it.
So here’s my feedback. :) It would be nice if the example used GEF and not just Draw2D, which would enable the user to interact with the nodes more. Specifically, it would be nice to drag the plug-in nodes around manually to more clearly see the connections, if you could double-click on it to open up the associated manifest editor, and if you could highlight all the dependencies of a plug-in, as well as highlight all the dependents.