From 73ba1b6134b4171719283812cbea66784acbbd9c Mon Sep 17 00:00:00 2001 From: Li Haoyi Date: Sun, 22 Oct 2017 16:23:13 -0700 Subject: Fix `Evaluator#prepareTransitiveTargets` --- src/main/scala/forge/Evaluator.scala | 15 +++++++-------- src/test/scala/forge/ForgeTests.scala | 18 +++++++++--------- 2 files changed, 16 insertions(+), 17 deletions(-) (limited to 'src') diff --git a/src/main/scala/forge/Evaluator.scala b/src/main/scala/forge/Evaluator.scala index 9beebe52..c6658ece 100644 --- a/src/main/scala/forge/Evaluator.scala +++ b/src/main/scala/forge/Evaluator.scala @@ -12,10 +12,7 @@ class Evaluator(workspacePath: jnio.Path, /** * Takes the given targets, finds */ - def prepareTransitiveTargets(targets: Seq[Target[_]]) = { - - val targetIndices = targets.zipWithIndex.toMap - + def prepareTransitiveTargets(sourceTargets: Seq[Target[_]]) = { val transitiveTargetSet = mutable.Set.empty[Target[_]] def rec(t: Target[_]): Unit = { if (transitiveTargetSet.contains(t)) () // do nothing @@ -25,11 +22,13 @@ class Evaluator(workspacePath: jnio.Path, } } - targets.foreach(rec) + sourceTargets.foreach(rec) val transitiveTargets = transitiveTargetSet.toVector + val targetIndices = transitiveTargets.zipWithIndex.toMap + val numberedEdges = for(i <- transitiveTargets.indices) - yield targets(i).inputs.map(targetIndices) + yield transitiveTargets(i).inputs.map(targetIndices) val sortedClusters = Tarjans(numberedEdges) val nonTrivialClusters = sortedClusters.filter(_.length > 1) @@ -49,9 +48,9 @@ class Evaluator(workspacePath: jnio.Path, val inputResults = target.inputs.map(results) val targetDestPath = target.defCtx.staticEnclosing match{ - case Some(enclosing) => + case Some(enclosingStr) => val targetDestPath = workspacePath.resolve( - jnio.Paths.get(enclosing.stripSuffix(enclosingBase.staticEnclosing.getOrElse(""))) + jnio.Paths.get(enclosingStr.stripSuffix(enclosingBase.staticEnclosing.getOrElse(""))) ) deleteRec(targetDestPath) targetDestPath diff --git a/src/test/scala/forge/ForgeTests.scala b/src/test/scala/forge/ForgeTests.scala index 92ccd112..45d68f1c 100644 --- a/src/test/scala/forge/ForgeTests.scala +++ b/src/test/scala/forge/ForgeTests.scala @@ -26,18 +26,18 @@ object ForgeTests extends TestSuite{ val down = noop(noop(up), noop(up)) } val tests = Tests{ -// 'singleton - { -// evaluator.apply(Singleton.single) -// } + 'singleton - { + evaluator.apply(Singleton.single) + } 'pair - { evaluator.prepareTransitiveTargets(Seq(Pair.down)) } -// 'diamond - { -// evaluator.apply(Diamond.down) -// } -// 'anonDiamond - { -// evaluator.apply(AnonymousDiamond.down) -// } + 'diamond - { + evaluator.apply(Diamond.down) + } + 'anonDiamond - { + evaluator.apply(AnonymousDiamond.down) + } // 'full - { // val sourceRoot = Target.path(jnio.Paths.get("src/test/resources/example/src")) // val resourceRoot = Target.path(jnio.Paths.get("src/test/resources/example/resources")) -- cgit v1.2.3