From 91cb6e09314792f1a7fedd29f46aece61e6d0560 Mon Sep 17 00:00:00 2001 From: Tristan Blease Date: Sun, 26 Jun 2016 12:22:58 -0400 Subject: [PATCH 1/2] Add IntegrationTest as a default config for generating ivy reports --- .../net/virtualvoid/sbt/graph/DependencyGraphSettings.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/scala/net/virtualvoid/sbt/graph/DependencyGraphSettings.scala b/src/main/scala/net/virtualvoid/sbt/graph/DependencyGraphSettings.scala index 753536529..a0209fd5a 100644 --- a/src/main/scala/net/virtualvoid/sbt/graph/DependencyGraphSettings.scala +++ b/src/main/scala/net/virtualvoid/sbt/graph/DependencyGraphSettings.scala @@ -37,7 +37,7 @@ object DependencyGraphSettings { ivyReportFunction <<= ivyReportFunctionTask, updateConfiguration in ignoreMissingUpdate <<= updateConfiguration(config ⇒ new UpdateConfiguration(config.retrieve, true, config.logging)), ignoreMissingUpdateT, - filterScalaLibrary in Global := true) ++ Seq(Compile, Test, Runtime, Provided, Optional).flatMap(ivyReportForConfig) + filterScalaLibrary in Global := true) ++ Seq(Compile, Test, IntegrationTest, Runtime, Provided, Optional).flatMap(ivyReportForConfig) def ivyReportForConfig(config: Configuration) = inConfig(config)(Seq( ivyReport <<= ivyReportFunction map (_(config.toString)) dependsOn (ignoreMissingUpdate), From db73b6d83c18fb6e795ce6f36dd360759edb259e Mon Sep 17 00:00:00 2001 From: Tristan Blease Date: Sun, 26 Jun 2016 13:11:11 -0400 Subject: [PATCH 2/2] Return empty graph if no update report is found --- .../net/virtualvoid/sbt/graph/DependencyGraphSettings.scala | 2 +- src/main/scala/net/virtualvoid/sbt/graph/model.scala | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/scala/net/virtualvoid/sbt/graph/DependencyGraphSettings.scala b/src/main/scala/net/virtualvoid/sbt/graph/DependencyGraphSettings.scala index a0209fd5a..ab0fd6779 100644 --- a/src/main/scala/net/virtualvoid/sbt/graph/DependencyGraphSettings.scala +++ b/src/main/scala/net/virtualvoid/sbt/graph/DependencyGraphSettings.scala @@ -122,7 +122,7 @@ object DependencyGraphSettings { def moduleGraphIvyReportTask = ivyReport map (absoluteReportPath.andThen(IvyReport.fromReportFile)) def moduleGraphSbtTask = (ignoreMissingUpdate, crossProjectId, configuration) map { (update, root, config) ⇒ - SbtUpdateReport.fromConfigurationReport(update.configuration(config.name).get, root) + update.configuration(config.name).map(report ⇒ SbtUpdateReport.fromConfigurationReport(report, root)).getOrElse(ModuleGraph.empty) } def printAsciiGraphTask = diff --git a/src/main/scala/net/virtualvoid/sbt/graph/model.scala b/src/main/scala/net/virtualvoid/sbt/graph/model.scala index 06c2b5bac..68b6a8862 100644 --- a/src/main/scala/net/virtualvoid/sbt/graph/model.scala +++ b/src/main/scala/net/virtualvoid/sbt/graph/model.scala @@ -36,6 +36,10 @@ case class Module(id: ModuleId, def isEvicted: Boolean = evictedByVersion.isDefined } +object ModuleGraph { + val empty = ModuleGraph(Seq.empty, Seq.empty) +} + case class ModuleGraph(nodes: Seq[Module], edges: Seq[Edge]) { lazy val modules: Map[ModuleId, Module] = nodes.map(n ⇒ (n.id, n)).toMap