4

A previous question on Stack Overflow has shown that it is possible to plot a graph of all modules within a Maven managed project.

I'm wondering if anyone has done and published an authoritative visual representation of all dependencies managed by Maven Central?

Community
  • 1
  • 1
Lukas Eder
  • 211,314
  • 129
  • 689
  • 1,509
  • Sounds like a fun-visualization project. Perhaps something that can be run via circos (though the genetic-engineering terminology use in circos makes it unnecessarily complicated). – Καrτhικ Feb 04 '13 at 15:33
  • @kabram: I guess this can be achieved in many ways. Those circos graphs look adequate. I've seen similar graphs before in http://d3js.org/ To keep this from being an open-ended question, I'm currently mostly interested in (possibly) existing implementations. – Lukas Eder Feb 04 '13 at 15:40
  • @Downvoter: Care to explain? – Lukas Eder May 10 '13 at 13:55
  • Update: I've written some code since your post that goes to Maven central and extracts all poms, performs some cleanup and then can extract dependencies. It stores results in a mongodb collection. I hope in the near future to run the data extraction fully and then generate a graph from it. – Καrτhικ May 10 '13 at 19:26
  • @kabram: Would be nice to publish your work as open source! – Lukas Eder May 11 '13 at 07:06
  • Good idea. Will do so in the next few days. – Καrτhικ May 13 '13 at 11:18

1 Answers1

3

there exists a tool which could help achieving your goal, it is called Pom Explorer.

You can find the website here : github.com/ltearno/pom-explorer

It is a tool to work on a graph of maven projects. As a teaser i can say that on my machine it analyzes 4000 pom.xml files in 4 seconds. Then many functionnalities are provided above the analysed pom graph :

  • dependency analysis (who depends on GAV, which gavs this GAV depends on, with transitivity),
  • resolution (pom explorer knows where are defined properties, it manages dependencies and bom imports),
  • manipulation (you can use it to transform you pom graph, let's say if you want many projects to use a new version of a dependency),
  • build (pom explorer analyses your pom graph and knows in which order they should be built, then it builds everything ! it can even watch your projects directories for change),
  • exporting (today there is CSV and a GRAPHML exports),
  • visualization (pom explorer can show you an interactive 3D customizable visualization of your projects graph).

It is in active development right now so don't hesitate to try it, report bugs and ask for useful features ! The documentation is also not complete yet, so again don't hesitate to ask !

Thanks

Arnaud Tournier
  • 984
  • 11
  • 11