mirror of https://github.com/sbt/sbt.git
32 lines
735 B
Scala
32 lines
735 B
Scala
package sbt
|
|
|
|
import java.io.File
|
|
import Types.:+:
|
|
|
|
object CacheTest// extends Properties("Cache test")
|
|
{
|
|
val lengthCache = new File("/tmp/length-cache")
|
|
val cCache = new File("/tmp/c-cache")
|
|
|
|
import Cache._
|
|
import FileInfo.hash._
|
|
import Ordering._
|
|
import sbinary.DefaultProtocol.FileFormat
|
|
def test
|
|
{
|
|
lazy val create = new File("test")
|
|
|
|
val length = cached(lengthCache) {
|
|
(f: File) => { println("File length: " + f.length); f.length }
|
|
}
|
|
|
|
lazy val fileLength = length(create)
|
|
|
|
val c = cached(cCache) { (in: (File :+: Long :+: HNil)) =>
|
|
val file :+: len :+: HNil = in
|
|
println("File: " + file + " (" + file.exists + "), length: " + len)
|
|
(len+1) :+: file :+: HNil
|
|
}
|
|
c(create :+: fileLength :+: HNil)
|
|
}
|
|
} |