cLabs

This is an ego edition of ChoiceBits, trying to tie together two of my favorite other ChoiceBits, Eclipse and GraphViz. Version 2.1 of Eclipse encouraged a friendly end-user to put together a call hierarchy plug-in. The Eclipse team liked it so much, they merged the source code for 3.0 into the base JDT distro.

I liked it so much, I started copying the results to the clipboard, parsing it through a quickie Ruby script to translate the tree to GraphViz dot graph source, and pasting into my local clWiki for rendering.

But, alas, this was actual work, and I have not slaved at computer programming all these years to work.

So, I started hacking on Eclipse.

(A quick aside. Using Eclipse to connect to the Eclipse anon CVS repo, to alter its own source complete with JUnit unit tests and debug the thing in another instance of Eclipse and then re-repackage the modifications has got to be one of the coolest, most elegant coding bits I've ever done. Eclipse really rocks.)

The upside is that I've got a working version. Right-click on the Call Hierarchy tree and wha-lah, instant graphing (as long as dot.exe sits on your system path).

The downside, is in the CompletenessAndMaturity category, it's much more the former than the latter. In fact, I'm told I don't even have to hack up the jdt.ui plug-in to achieve this, I should be able to work out my own, entirely independent plug-in for it -- but as 3.0.0.5 has quickly reached a level of DTSTTCPW (or maybe Do The Ugliest Thing That Could Possibly Work), I've stalled on it. Check it out and jump in. Full source (of course) included.