从任务运行SBT命令

时间:2017-02-09 00:42:03

标签: scala sbt

是否可以从任务(也在我的build.sbt中定义)中运行SBT命令(在我的build.sbt中定义)?

或者我可以将命令添加为任务的依赖项(即:我想在编译之前运行命令)。

3 个答案:

答案 0 :(得分:3)

Command.process("you_command", state.value)

使用Command.process来调用您的自定义command

答案 1 :(得分:3)

在sbt 1.0中Command.process已被删除。 使用插入或附加命令将状态添加到状态,如下所示:

  val insertCommand: State => State =
    (state: State) =>
      state.copy(remainingCommands = Exec("some-command", None) +: state.remainingCommands)

请参阅http://www.scala-sbt.org/1.0/docs/Build-State.html

答案 2 :(得分:0)

Command.process("you_command", state.value)

process方法从1.2.0版本开始。 但是,仅运行命令并返回新状态就不会改变整个状态。