2010-06-14 04:59:29 +02:00
|
|
|
package sbt
|
2009-08-16 20:29:08 +02:00
|
|
|
|
|
|
|
|
import java.io.File
|
2010-06-14 04:59:29 +02:00
|
|
|
import Types.:+:
|
2009-08-16 20:29:08 +02:00
|
|
|
|
|
|
|
|
object CacheTest// extends Properties("Cache test")
|
|
|
|
|
{
|
2009-12-12 00:56:09 +01:00
|
|
|
val lengthCache = new File("/tmp/length-cache")
|
|
|
|
|
val cCache = new File("/tmp/c-cache")
|
|
|
|
|
|
2009-08-16 20:29:08 +02:00
|
|
|
import Cache._
|
|
|
|
|
import FileInfo.hash._
|
2010-11-10 02:43:58 +01:00
|
|
|
import Ordering._
|
|
|
|
|
import sbinary.DefaultProtocol.FileFormat
|
2009-12-12 00:56:09 +01:00
|
|
|
def test
|
2009-08-16 20:29:08 +02:00
|
|
|
{
|
2010-06-07 16:50:51 +02:00
|
|
|
lazy val create = new File("test")
|
2009-08-16 20:29:08 +02:00
|
|
|
|
2010-06-07 16:50:51 +02:00
|
|
|
val length = cached(lengthCache) {
|
|
|
|
|
(f: File) => { println("File length: " + f.length); f.length }
|
|
|
|
|
}
|
2009-12-12 00:56:09 +01:00
|
|
|
|
2010-06-07 16:50:51 +02:00
|
|
|
lazy val fileLength = length(create)
|
2009-12-12 00:56:09 +01:00
|
|
|
|
2010-06-14 04:59:29 +02:00
|
|
|
val c = cached(cCache) { (in: (File :+: Long :+: HNil)) =>
|
|
|
|
|
val file :+: len :+: HNil = in
|
2010-06-07 16:50:51 +02:00
|
|
|
println("File: " + file + " (" + file.exists + "), length: " + len)
|
2010-06-14 04:59:29 +02:00
|
|
|
(len+1) :+: file :+: HNil
|
2010-06-07 16:50:51 +02:00
|
|
|
}
|
2010-06-14 04:59:29 +02:00
|
|
|
c(create :+: fileLength :+: HNil)
|
2009-08-16 20:29:08 +02:00
|
|
|
}
|
|
|
|
|
}
|