diff --git a/src/main/scala/net/virtualvoid/sbt/graph/IvyGraphMLDependencies.scala b/src/main/scala/net/virtualvoid/sbt/graph/IvyGraphMLDependencies.scala index 8408d03be..b709d25ce 100644 --- a/src/main/scala/net/virtualvoid/sbt/graph/IvyGraphMLDependencies.scala +++ b/src/main/scala/net/virtualvoid/sbt/graph/IvyGraphMLDependencies.scala @@ -195,6 +195,20 @@ object IvyGraphMLDependencies extends App { XML.save(outputFile, xml) } + def saveAsDot(graph : ModuleGraph, outputFile: File) : File = { + + val edges = { + for ( e <- graph.edges) + yield + "\t\"" + e._1.idString + "\" -> \"" + e._2.idString + "\"" + }.mkString("\n") + + val dot = "digraph \"dependency-graph\" {\n" + edges + "\n}" + + sbt.IO.write(outputFile, dot) + outputFile + } + def moduleIdFromElement(element: Node, version: String): ModuleId = ModuleId(element.attribute("organisation").get.text, element.attribute("name").get.text, version)