mirror of https://github.com/sbt/sbt.git
Tweaks in FileInfo
This commit is contained in:
parent
875a30cc70
commit
71d104da3d
|
|
@ -4,6 +4,7 @@
|
||||||
package sbt.internal.util
|
package sbt.internal.util
|
||||||
|
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
import scala.util.control.NonFatal
|
||||||
import sbt.io.Hash
|
import sbt.io.Hash
|
||||||
import sjsonnew.{ Builder, JsonFormat, Unbuilder, deserializationError }
|
import sjsonnew.{ Builder, JsonFormat, Unbuilder, deserializationError }
|
||||||
import CacheImplicits._
|
import CacheImplicits._
|
||||||
|
|
@ -30,7 +31,7 @@ object FileInfo {
|
||||||
sealed trait Style {
|
sealed trait Style {
|
||||||
type F <: FileInfo
|
type F <: FileInfo
|
||||||
|
|
||||||
implicit val format: JsonFormat[F]
|
implicit def format: JsonFormat[F]
|
||||||
|
|
||||||
def apply(file: File): F
|
def apply(file: File): F
|
||||||
def apply(files: Set[File]): FilesInfo[F] = FilesInfo(files map apply)
|
def apply(files: Set[File]): FilesInfo[F] = FilesInfo(files map apply)
|
||||||
|
|
@ -91,7 +92,7 @@ object FileInfo {
|
||||||
|
|
||||||
implicit def apply(file: File): HashFileInfo = FileHash(file.getAbsoluteFile, computeHash(file))
|
implicit def apply(file: File): HashFileInfo = FileHash(file.getAbsoluteFile, computeHash(file))
|
||||||
|
|
||||||
private def computeHash(file: File): List[Byte] = try Hash(file).toList catch { case _: Exception => Nil }
|
private def computeHash(file: File): List[Byte] = try Hash(file).toList catch { case NonFatal(_) => Nil }
|
||||||
}
|
}
|
||||||
|
|
||||||
object lastModified extends Style {
|
object lastModified extends Style {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue