mirror of https://github.com/sbt/sbt.git
Prior to this commit, change tracking in sbt 1.3.0 was done via the changed(Input|Output)Files tasks which were tasks returning Option[ChangedFiles]. The ChangedFiles case class was defined in io as case class ChangedFiles(created: Seq[Path], deleted: Seq[Path], updated: Seq[Path]) When no changes were found, or if there were no previous stamps, the changed(Input|Output)Files tasks returned None. This made it impossible to tell whether nothing had changed or if it was the first time. Moreover, the api was awkward as it required pattern matching or folding the result into a default value. To address these limitations, I introduce the FileChanges class. It can be generated regardless of whether or not previous file stamps were available. The changes contains all of the created, deleted, modified and unmodified files so that the user can directly call these methods without having to pattern match. |
||
|---|---|---|
| .. | ||
| src | ||
| NOTICE | ||