From f780d67a782a8cfe9cd6c46efd49afb1be979501 Mon Sep 17 00:00:00 2001 From: Mark Harrah Date: Tue, 8 Feb 2011 20:36:29 -0500 Subject: [PATCH] add reverse dependencies to 'get' output --- main/Project.scala | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/main/Project.scala b/main/Project.scala index 7ec1b8ae3..98a03ae37 100644 --- a/main/Project.scala +++ b/main/Project.scala @@ -120,10 +120,18 @@ object Project extends Init[Scope] val cMap = compiled(structure.settings)(structure.delegates, structure.scopeLocal) val related = cMap.keys.filter(k => k.key == key && k.scope != scope) val depends = cMap.get(scoped) match { case Some(c) => c.dependencies.toSet; case None => Set.empty } + val reverse = reverseDependencies(cMap, scoped) def printScopes(label: String, scopes: Iterable[ScopedKey[_]]) = if(scopes.isEmpty) "" else scopes.map(display).mkString(label + ":\n\t", "\n\t", "\n") - value + "\n" + definedIn + "\n" + printScopes("Dependencies", depends) + printScopes("Related", related) + + value + "\n" + + definedIn + "\n" + + printScopes("Dependencies", depends) + + printScopes("Reverse dependencies", reverse) + + printScopes("Related", related) } + def reverseDependencies(cMap: CompiledMap, scoped: ScopedKey[_]): Iterable[ScopedKey[_]] = + for( (key,compiled) <- cMap; dep <- compiled.dependencies if dep == scoped) yield key val SessionKey = AttributeKey[SessionSettings]("session-settings") val StructureKey = AttributeKey[Load.BuildStructure]("build-structure")