diff --git a/build.sbt b/build.sbt index 41a967b3a..412d7b65f 100644 --- a/build.sbt +++ b/build.sbt @@ -32,9 +32,12 @@ def commonSettings: Seq[Setting[_]] = Seq( val mimaSettings = Def settings ( mimaPreviousArtifacts := Set( - organization.value % moduleName.value % "1.0.0" + "1.0.0", "1.0.1", "1.0.2", "1.0.3", + "1.1.0", "1.1.1", + ) map (version => + organization.value %% moduleName.value % version cross (if (crossPaths.value) CrossVersion.binary else CrossVersion.disabled) - ) + ), ) lazy val utilRoot: Project = (project in file(".")) @@ -62,9 +65,7 @@ lazy val utilRoot: Project = (project in file(".")) homepage := Some(url("https://github.com/sbt/util")), description := "Util module for sbt", scmInfo := Some(ScmInfo(url("https://github.com/sbt/util"), "git@github.com:sbt/util.git")), - scalafmtOnCompile := true, scalafmtOnCompile in Sbt := false, - scalafmtVersion := "1.2.0", )), commonSettings, name := "Util Root", diff --git a/internal/util-scripted/src/main/scala/sbt/internal/scripted/FileCommands.scala b/internal/util-scripted/src/main/scala/sbt/internal/scripted/FileCommands.scala index 3b5daaef7..6aefa4a7a 100644 --- a/internal/util-scripted/src/main/scala/sbt/internal/scripted/FileCommands.scala +++ b/internal/util-scripted/src/main/scala/sbt/internal/scripted/FileCommands.scala @@ -9,6 +9,7 @@ import java.io.File import sbt.io.{ IO, Path } import sbt.io.syntax._ import Path._ +import sbt.io.IO class FileCommands(baseDirectory: File) extends BasicStatementHandler { lazy val commands = commandMap @@ -67,7 +68,8 @@ class FileCommands(baseDirectory: File) extends BasicStatementHandler { def newer(a: String, b: String): Unit = { val pathA = fromString(a) val pathB = fromString(b) - val isNewer = pathA.exists && (!pathB.exists || pathA.lastModified > pathB.lastModified) + val isNewer = pathA.exists && + (!pathB.exists || IO.getModifiedTimeOrZero(pathA) > IO.getModifiedTimeOrZero(pathB)) if (!isNewer) { scriptError(s"$pathA is not newer than $pathB") } diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 439ff5650..97e4f992b 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -7,7 +7,7 @@ object Dependencies { val scala211 = "2.11.12" val scala212 = "2.12.4" - private val ioVersion = "1.1.1" + private val ioVersion = "1.1.3" private val sbtIO = "org.scala-sbt" %% "io" % ioVersion diff --git a/project/build.properties b/project/build.properties index 94005e587..394cb75cf 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=1.0.0 +sbt.version=1.0.4 diff --git a/project/plugins.sbt b/project/plugins.sbt index 81ebe9957..b85b1f525 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,4 +1,2 @@ -addSbtPlugin("org.scala-sbt" % "sbt-houserules" % "0.3.3") -addSbtPlugin("org.scala-sbt" % "sbt-contraband" % "0.3.0") -addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "0.1.17") -addSbtPlugin("com.lucidchart" % "sbt-scalafmt" % "1.14") +addSbtPlugin("org.scala-sbt" % "sbt-houserules" % "0.3.5") +addSbtPlugin("org.scala-sbt" % "sbt-contraband" % "0.3.2") diff --git a/util-cache/src/main/scala/sbt/util/FileInfo.scala b/util-cache/src/main/scala/sbt/util/FileInfo.scala index 6fcb3d619..bef3d6bfd 100644 --- a/util-cache/src/main/scala/sbt/util/FileInfo.scala +++ b/util-cache/src/main/scala/sbt/util/FileInfo.scala @@ -4,8 +4,9 @@ package sbt.util import java.io.File +import java.io.FileNotFoundException import scala.util.control.NonFatal -import sbt.io.Hash +import sbt.io.{ Hash, IO } import sjsonnew.{ Builder, JsonFormat, Unbuilder, deserializationError } import CacheImplicits._ @@ -49,6 +50,7 @@ object FilesInfo { } object FileInfo { + sealed trait Style { type F <: FileInfo @@ -88,7 +90,7 @@ object FileInfo { } implicit def apply(file: File): HashModifiedFileInfo = - FileHashModified(file.getAbsoluteFile, Hash(file).toList, file.lastModified) + FileHashModified(file.getAbsoluteFile, Hash(file).toList, IO.getModifiedTimeOrZero(file)) } object hash extends Style { @@ -145,7 +147,7 @@ object FileInfo { } implicit def apply(file: File): ModifiedFileInfo = - FileModified(file.getAbsoluteFile, file.lastModified) + FileModified(file.getAbsoluteFile, IO.getModifiedTimeOrZero(file)) } object exists extends Style { diff --git a/util-cache/src/test/scala/FileInfoSpec.scala b/util-cache/src/test/scala/FileInfoSpec.scala index debd427c7..7b0f3e035 100644 --- a/util-cache/src/test/scala/FileInfoSpec.scala +++ b/util-cache/src/test/scala/FileInfoSpec.scala @@ -3,10 +3,11 @@ package sbt.util import sjsonnew.shaded.scalajson.ast.unsafe._ import sjsonnew._, support.scalajson.unsafe._ import sbt.internal.util.UnitSpec +import sbt.io.IO class FileInfoSpec extends UnitSpec { val file = new java.io.File(".").getAbsoluteFile - val fileInfo: ModifiedFileInfo = FileModified(file, file.lastModified()) + val fileInfo: ModifiedFileInfo = FileModified(file, IO.getModifiedTimeOrZero(file)) val filesInfo = FilesInfo(Set(fileInfo)) it should "round trip" in assertRoundTrip(filesInfo)