如何有条件地修改现有SBT任务

时间:2015-05-29 08:17:41

标签: sbt

我想修改publish任务并有条件地执行(0.13.8)。这是我尝试过的(简化):

publish := {
  Def.taskDyn {
    if (true) {
      Def.task {
        publish.value
      }
    } else {
      Def.task()
    }
  }.value
}

此操作失败,但出现以下异常:

[error] (root/*:publish) sbt.Init$RuntimeUndefined: References to undefined settings at runtime.

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

试试这个:

publish := {
    if( true ) {
        publish
    } else Def.task {
        println("something else")
    }
}.value