From 5bdba54a3cebc937290325ea2b7ebcdf06df0ba2 Mon Sep 17 00:00:00 2001 From: Taichi Yamakawa Date: Mon, 16 Nov 2020 22:37:40 +0900 Subject: [PATCH] Support a system property for onChangedBuildSource Resolve the issue https://github.com/sbt/sbt/issues/5679 --- main/src/main/scala/sbt/Defaults.scala | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/main/src/main/scala/sbt/Defaults.scala b/main/src/main/scala/sbt/Defaults.scala index 1a0ee4d2b..f2f0de58a 100644 --- a/main/src/main/scala/sbt/Defaults.scala +++ b/main/src/main/scala/sbt/Defaults.scala @@ -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),