diff --git a/tasks/standard/Streams.scala b/tasks/standard/Streams.scala index 838a53f6d..d92ea34a5 100644 --- a/tasks/standard/Streams.scala +++ b/tasks/standard/Streams.scala @@ -86,7 +86,7 @@ object Streams def make[T <: Closeable](a: Key, sid: String)(f: File => T): T = synchronized { checkOpen() val file = taskDirectory(a) / sid - IO.touch(file) + IO.touch(file, false) val t = f( file ) opened ::= t t diff --git a/util/io/IO.scala b/util/io/IO.scala index 024de0375..d8dc89584 100644 --- a/util/io/IO.scala +++ b/util/io/IO.scala @@ -70,15 +70,15 @@ object IO (name, "") } - def touch(files: Traversable[File]): Unit = files.foreach(touch) + def touch(files: Traversable[File]): Unit = files.foreach(f => touch(f)) /** Creates a file at the given location.*/ - def touch(file: File) + def touch(file: File, setModified: Boolean = true) { createDirectory(file.getParentFile) val created = translate("Could not create file " + file) { file.createNewFile() } if(created || file.isDirectory) () - else if(!file.setLastModified(System.currentTimeMillis)) + else if(setModified && !file.setLastModified(System.currentTimeMillis)) error("Could not update last modified time for file " + file) } def createDirectories(dirs: Traversable[File]): Unit =