Aurélien Gâteau

Dependency diagrams on api.kde.org!

written on Saturday, March 1, 2014

Today I am happy to announce that after a bit of work we finally got dependency diagrams for KDE Frameworks 5 automatically generated on api.kde.org. Pick a framework, then click on the "Dependencies" link in the sidebar. For example, a tier 2 framework like KAuth, a tier 3 one like KIconThemes or if your looking for something a bit crazier, here is KIO.

Getting this to work was a bit more involved than I originally thought because the first part of the diagram generation is done by running cmake --graphviz on the source code. This means it must be run on a system with all the necessary dependencies installed. We ended up having the build servers run this part and rsync'ing the result to the server responsible for running Doxygen.

If you are interested in how it works, the code is available in the kapidox repository. Feel free to ping me if you need help with it.

I am still debating whether it makes sense to host the "mother of all diagrams" on api.kde.org or not. My gut feeling tells me that while it's impressive, it is of limited value and this is only going to get worse as we add new frameworks (the linked diagram is already outdated). It would probably be more interesting to produce a readable diagram of all tier 1 and tier 2 frameworks instead. I experimented a bit with this, but I am not done yet: I need to find a way to get more vertical spaces between cluster graphs. Right now the result is not useful because the arrows are all stuck together, even without Qt libs.

This post was tagged cmake, graphviz, kde and kf5