Port util-cache

This commit is contained in:
Eugene Yokota 2021-12-20 03:07:24 -05:00
parent 4bbecf4ee9
commit 1b42f40508
3 changed files with 8 additions and 18 deletions

View File

@ -188,6 +188,7 @@ lazy val sbtRoot: Project = (project in file("."))
utilControl,
completeProj,
logicProj,
utilCache,
)
.settings(
minimalSettings,

View File

@ -41,11 +41,9 @@ object HashModifiedFileInfo {
}
private final case class PlainFile(file: File, exists: Boolean) extends PlainFileInfo
private final case class FileModified(file: File, lastModified: Long) extends ModifiedFileInfo
@deprecated("Kept for plugin compat, but will be removed in sbt 2.0", "1.3.0")
private final case class FileHash(file: File, override val hash: List[Byte]) extends HashFileInfo {
override val hashArray: Array[Byte] = hash.toArray
}
private final case class FileHashArrayRepr(file: File, override val hashArray: Array[Byte])
extends HashFileInfo {
override def hashCode(): Int = (file, java.util.Arrays.hashCode(hashArray)).hashCode()
@ -55,25 +53,18 @@ private final case class FileHashArrayRepr(file: File, override val hashArray: A
case _ => false
}
}
@deprecated("Kept for plugin compat, but will be removed in sbt 2.0", "1.3.0")
private final case class FileHashModified(
file: File,
override val hash: List[Byte],
lastModified: Long
) extends HashModifiedFileInfo {
override val hashArray: Array[Byte] = hash.toArray
}
private final case class FileHashModifiedArrayRepr(
file: File,
override val hashArray: Array[Byte],
lastModified: Long
) extends HashModifiedFileInfo
final case class FilesInfo[F <: FileInfo] private (files: Set[F])
final case class FilesInfo[F <: FileInfo] private[util] (files: Set[F])
object FilesInfo {
def empty[F <: FileInfo]: FilesInfo[F] = FilesInfo(Set.empty[F])
implicit def format[F <: FileInfo: JsonFormat]: JsonFormat[FilesInfo[F]] =
given format[F <: FileInfo: JsonFormat]: JsonFormat[FilesInfo[F]] =
projectFormat(_.files, (fs: Set[F]) => FilesInfo(fs))
def full: FileInfo.Style = FileInfo.full

View File

@ -30,11 +30,9 @@ class PlainInput[J: IsoString](input: InputStream, converter: SupportConverter[J
val bufferSize = 1024
val buffer = new Array[Char](bufferSize)
var read = 0
while
({ read = reader.read(buffer, 0, bufferSize); read != -1
}) {
while { read = reader.read(buffer, 0, bufferSize); read != -1 } do
builder.appendAll(buffer, 0, read)
}
builder.toString()
}
}