Support a system property for onChangedBuildSource

Resolve the issue https://github.com/sbt/sbt/issues/5679
This commit is contained in:
Taichi Yamakawa 2020-11-16 22:37:40 +09:00
parent b911bad4ee
commit 5bdba54a3c
1 changed files with 11 additions and 1 deletions

View File

@ -167,7 +167,17 @@ object Defaults extends BuildCommon {
fileOutputExcludeFilter :== NothingFilter.toNio,
inputFileStamper :== sbt.nio.FileStamper.Hash,
outputFileStamper :== sbt.nio.FileStamper.LastModified,
onChangedBuildSource :== sbt.nio.Keys.WarnOnSourceChanges,
onChangedBuildSource :== {
val sysPropKey = "sbt.build.onchange"
sys.props.getOrElse(sysPropKey, "warn") match {
case "reload" => sbt.nio.Keys.ReloadOnSourceChanges
case "warn" => sbt.nio.Keys.WarnOnSourceChanges
case "ignore" => sbt.nio.Keys.IgnoreSourceChanges
case unknown =>
System.err.println(s"Unknown $sysPropKey: $unknown.\nUsing warn.")
sbt.nio.Keys.WarnOnSourceChanges
}
},
clean := { () },
unmanagedFileStampCache :=
state.value.get(persistentFileStampCache).getOrElse(new sbt.nio.FileStamp.Cache),