我有另一种方法来完成现有的昂贵任务,但直到运行时我才知道我是否会这样做。(例如,文件缓存。)
我该怎么做呢?
例如,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.