Skip to content
This repository has been archived by the owner on Jun 10, 2020. It is now read-only.

Commit

Permalink
Revert *ModifiedTime() calls to *lastModified*() calls
Browse files Browse the repository at this point in the history
There are just too many instances in which sbt's code relies on
the `lastModified`/`setLastModified` semantics, so instead of moving
to `get`/`setModifiedTime`, we use new IO calls that offer the new
timestamp precision, but retain the old semantics.
  • Loading branch information
Antonio Cunei committed Dec 21, 2017
1 parent 96c88a4 commit 8ba68ee
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ class FileCommands(baseDirectory: File) extends BasicStatementHandler {
val pathA = fromString(a)
val pathB = fromString(b)
val isNewer = pathA.exists &&
(!pathB.exists || IO.getModifiedTime(pathA) > IO.getModifiedTime(pathB))
(!pathB.exists || IO.lastModified(pathA) > IO.lastModified(pathB))
if (!isNewer) {
scriptError(s"$pathA is not newer than $pathB")
}
Expand Down
9 changes: 2 additions & 7 deletions util-cache/src/main/scala/sbt/util/FileInfo.scala
Original file line number Diff line number Diff line change
Expand Up @@ -51,11 +51,6 @@ object FilesInfo {

object FileInfo {

// returns 0L if file does not exist
private def getModifiedTimeOrZero(file: File) =
try IO.getModifiedTime(file)
catch { case _: FileNotFoundException => 0L }

sealed trait Style {
type F <: FileInfo

Expand Down Expand Up @@ -95,7 +90,7 @@ object FileInfo {
}

implicit def apply(file: File): HashModifiedFileInfo =
FileHashModified(file.getAbsoluteFile, Hash(file).toList, getModifiedTimeOrZero(file))
FileHashModified(file.getAbsoluteFile, Hash(file).toList, IO.lastModified(file))
}

object hash extends Style {
Expand Down Expand Up @@ -152,7 +147,7 @@ object FileInfo {
}

implicit def apply(file: File): ModifiedFileInfo =
FileModified(file.getAbsoluteFile, getModifiedTimeOrZero(file))
FileModified(file.getAbsoluteFile, IO.lastModified(file))
}

object exists extends Style {
Expand Down
2 changes: 1 addition & 1 deletion util-cache/src/test/scala/FileInfoSpec.scala
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import sbt.io.IO

class FileInfoSpec extends UnitSpec {
val file = new java.io.File(".").getAbsoluteFile
val fileInfo: ModifiedFileInfo = FileModified(file, IO.getModifiedTime(file))
val fileInfo: ModifiedFileInfo = FileModified(file, IO.lastModified(file))
val filesInfo = FilesInfo(Set(fileInfo))

it should "round trip" in assertRoundTrip(filesInfo)
Expand Down

0 comments on commit 8ba68ee

Please sign in to comment.