diff options
author | Li Haoyi <haoyi.sg@gmail.com> | 2017-10-22 16:23:13 -0700 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2017-10-22 16:23:13 -0700 |
commit | 73ba1b6134b4171719283812cbea66784acbbd9c (patch) | |
tree | 87c442f91010256297475b80c0a3e522a4112842 /src | |
parent | 5ec6a01116f401e84fd3c895c2582acbec3c969c (diff) | |
download | mill-73ba1b6134b4171719283812cbea66784acbbd9c.tar.gz mill-73ba1b6134b4171719283812cbea66784acbbd9c.tar.bz2 mill-73ba1b6134b4171719283812cbea66784acbbd9c.zip |
Fix `Evaluator#prepareTransitiveTargets`
Diffstat (limited to 'src')
-rw-r--r-- | src/main/scala/forge/Evaluator.scala | 15 | ||||
-rw-r--r-- | src/test/scala/forge/ForgeTests.scala | 18 |
2 files changed, 16 insertions, 17 deletions
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")) |