summaryrefslogtreecommitdiff
path: root/src/main/scala
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2017-10-22 16:23:13 -0700
committerLi Haoyi <haoyi.sg@gmail.com>2017-10-22 16:23:13 -0700
commit73ba1b6134b4171719283812cbea66784acbbd9c (patch)
tree87c442f91010256297475b80c0a3e522a4112842 /src/main/scala
parent5ec6a01116f401e84fd3c895c2582acbec3c969c (diff)
downloadmill-73ba1b6134b4171719283812cbea66784acbbd9c.tar.gz
mill-73ba1b6134b4171719283812cbea66784acbbd9c.tar.bz2
mill-73ba1b6134b4171719283812cbea66784acbbd9c.zip
Fix `Evaluator#prepareTransitiveTargets`
Diffstat (limited to 'src/main/scala')
-rw-r--r--src/main/scala/forge/Evaluator.scala15
1 files changed, 7 insertions, 8 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