既存の高価なタスクを完了する別の方法がありますが、その方法で実行するかどうかは実行時までわかりません。(たとえば、ファイル キャッシュ)。
どうすればいいですか?
たとえば、packageBin:
packageBin in Compile := Def.taskDyn {
if (canDoItMyWay) {
doItMyWayTask
} else {
Defaults.packageTask
}
}.value
後者のパスを実行すると、これは機能しません。
$ sbt packageBin
[trace] Stack trace suppressed: run last compile:packageBin for the full output.
[error] (util-2_10/compile:packageBin) sbt.Init$RuntimeUndefined: References to undefined settings at runtime.