From aaba9b7ca7a9bdce163ed47c9f5f430975175432 Mon Sep 17 00:00:00 2001 From: Mark Harrah Date: Mon, 31 Aug 2009 10:43:41 -0400 Subject: [PATCH] Correct cache intialization in Changed tracker. --- cache/Tracked.scala | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cache/Tracked.scala b/cache/Tracked.scala index 375d24137..7eba581a0 100644 --- a/cache/Tracked.scala +++ b/cache/Tracked.scala @@ -1,6 +1,6 @@ package xsbt -import java.io.File +import java.io.{File,IOException} import CacheIO.{fromFile, toFile} import sbinary.Format import scala.reflect.Manifest @@ -26,7 +26,9 @@ class Changed[O](val task: Task[O], val cacheFile: File)(implicit input: InputCa def clear = Task.empty def apply[O2](ifChanged: O => O2, ifUnchanged: O => O2): Task[O2] { type Input = O } = task map { value => - val cache = OpenResource.fileInputStream(cacheFile)(input.uptodate(value)) + val cache = + try { OpenResource.fileInputStream(cacheFile)(input.uptodate(value)) } + catch { case _: IOException => new ForceResult(input)(value) } if(cache.uptodate) ifUnchanged(value) else