让sbt任务依赖项工作

时间:2013-04-14 23:35:04

标签: dependencies task sbt

我正在尝试在sbt文档中定义自定义任务和现有任务(在本例中为Compile编译)之间的依赖关系:Task Dependencies。但是,我能得到的最接近的是:

object ApplicationBuild extends Build {

val hello = TaskKey[Unit]("hello", "Prints 'Hello World'")

val helloTaskA = hello := {
  println("Hello World")
}

val helloTaskB = hello <<= hello.dependsOn(compile in Compile)

val main = play.Project(appName, appVersion, appDependencies).settings(
  helloTaskA, 
  helloTaskB      
)

这似乎有效。如果需要,hello在执行之前触发编译。但是,我没有得到的是为什么我需要在我的设置中包含helloTaskA和helloTaskB。如果我在设置中没有包含helloTaskA,我会得到:

[error] Reference to undefined setting: 
[error] 
[error]   *:hello from *:hello

我理解因为helloTaskA是不可变的,所以helloTaskB是一个不同的任务,但我认为它会默默地包含helloTaskA。此外,我不确定如何为具有相同任务键的任务包含两个设置意味着什么。

0 个答案:

没有答案