summaryrefslogtreecommitdiff
path: root/src/main/scala/forge/Evaluator.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/forge/Evaluator.scala')
-rw-r--r--src/main/scala/forge/Evaluator.scala24
1 files changed, 11 insertions, 13 deletions
diff --git a/src/main/scala/forge/Evaluator.scala b/src/main/scala/forge/Evaluator.scala
index d6ff39a2..43b4f353 100644
--- a/src/main/scala/forge/Evaluator.scala
+++ b/src/main/scala/forge/Evaluator.scala
@@ -20,27 +20,25 @@ class Evaluator(workspacePath: jnio.Path,
for (target <- sortedTargets){
val inputResults = target.inputs.map(results).toIndexedSeq
- val targetDestPath = target.defCtx.value match{
- case Some(enclosingStr) =>
- val targetDestPath = workspacePath.resolve(
- jnio.Paths.get(enclosingStr.stripSuffix(enclosingBase.value.getOrElse("")))
- )
- deleteRec(targetDestPath)
- targetDestPath
-
- case None => jnio.Files.createTempDirectory(null)
+ val targetDestPath = {
+ val enclosingStr = target.defCtx.label
+ val targetDestPath = workspacePath.resolve(
+ jnio.Paths.get(enclosingStr.stripSuffix(enclosingBase.label))
+ )
+ deleteRec(targetDestPath)
+ targetDestPath
+
}
val inputsHash = inputResults.hashCode
- target.defCtx.value.flatMap(resultCache.get) match{
+ resultCache.get(target.defCtx.label) match{
case Some((hash, res)) if hash == inputsHash && !target.dirty =>
results(target) = res
case _ =>
evaluated.append(target)
val res = target.evaluate(new Args(inputResults, targetDestPath))
- for(label <- target.defCtx.value) {
- resultCache(label) = (inputsHash, res)
- }
+
+ resultCache(target.defCtx.label) = (inputsHash, res)
results(target) = res
}