SBT取决于使用 - 从0.12迁移到0.13

时间:2017-06-20 15:25:49

标签: scala sbt

我在build.sbt

中有这样的命令
run <<= (run in Compile) dependsOn npmBuildTask

根据文档&lt;&lt; =已弃用,所以我想使用:=这一个。 我试过了;

run in Compile := ((run in Compile).dependsOn(npmBuildTask).value)
run in Compile := (run in Compile).dependsOn(npmBuildTask).value
run in Compile := run.dependsOn(npmBuildTask).value

但是他们全都不适合我。你能帮我吗?

1 个答案:

答案 0 :(得分:6)

最后我找到了解决方案。

compile := ((compile in Compile) dependsOn npmBuildTask).value

这对我有用。问题出现在以下代码中:

run := ((run in Compile) dependsOn npmBuildTask).value

编译和运行是不同的。 compile的返回类型为sbt.TaskKey [sbt.inc.Analysis],run的返回类型为sbt.InputKey [scala.Unit]。因此,您应该使用此命令:

run := ((run in Compile) dependsOn npmBuildTask).evaluated

现在一切正常。