I have a fairly complex application which has been broken up into multiple components. Each component has a solution file which contains a bunch of projects. So I like to think of this as a component has multiple projects/dlls in it. There is also a "common" component. All the other components depend on "common". So a compile goes like this:
"nant component1.compile"
will compile "common" and then compile component1 since component1 depends on "common".
Over time "common" has become quite big. I'm pretty sure it can be split into a few smaller components. Then components need to depend only on some of these smaller, broken up "common". This would hopefully cut down on compile time for the different components.
So question: I'd like to visualise the dependency between all the different projects in the application while also tagging which component the project belongs to. How would you do this?