diff --git a/build.sbt b/build.sbt index 50b14d70b..3fc75650a 100644 --- a/build.sbt +++ b/build.sbt @@ -188,6 +188,7 @@ lazy val sbtRoot: Project = (project in file(".")) utilControl, completeProj, logicProj, + utilCache, ) .settings( minimalSettings, diff --git a/util-cache/src/main/scala/sbt/util/FileInfo.scala b/util-cache/src/main/scala/sbt/util/FileInfo.scala index d99ed8ce9..1d844d8d4 100644 --- a/util-cache/src/main/scala/sbt/util/FileInfo.scala +++ b/util-cache/src/main/scala/sbt/util/FileInfo.scala @@ -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 diff --git a/util-cache/src/main/scala/sbt/util/Input.scala b/util-cache/src/main/scala/sbt/util/Input.scala index acaeeb708..1f447265f 100644 --- a/util-cache/src/main/scala/sbt/util/Input.scala +++ b/util-cache/src/main/scala/sbt/util/Input.scala @@ -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() } }