We’ve got three packages that, over time, have become inter-dependent to the extent that all three have to be compiled simultaneously to resolve dependencies (i.e. you cannot compile one, then add it’s output to the next and compile that, etc - you cannot compile any without having the source or precompiled versions of the others!).
This begs to be refactored, but each package has around 30 classes with very non-trivial interdependencies.
Every class only importst what it absolutely has to (eclipse’s auto import-management), so if I could get a graph showing exactly which classes had import dependencies on external packages I could relatively quickly make decisions on package-level refactoring (should we collapse into one package? Could we split into 2? 3? 4? etc).
Has anyone seen a free tool that will do this? I’ve got a nagging feeling I’ve seen it in a UML editor before (assuming correct class diagrams with explicit package delimiting, it would be theoretically possible for a UML editor to abstract out only the dependencies, and generate the graph I’m looking for), but can’t remember where.
It would be very useful for refactoring large projects. I’ve got a horrible feeling it might only be available in large commercial pacakges :(.