sbt编译在Compile中意思

时间:2015-07-02 07:08:40

标签: sbt

有人可以在这个神秘的习语中解释每个compileCompile的含义:

compile in Compile <<= (compile in Compile).dependsOn(Def.task { 
  println("task is running") // or whatever code here in the body
})

1 个答案:

答案 0 :(得分:1)

  • compile表示编译任务,而不是package
  • Compile表示编译配置(派生自/匹配Apache Ivy的配置),而不是Test

如果您认为compile in Test compile任务作为Test配置的范围,从而编译测试源,可能会更容易理解。

此外,&#34; unscoped&#34; compile密钥实际上并未在sbt的默认值中定义,因此当您在shell中执行compile时,实际执行的内容是compile in Compile,因为sbt&#39; s &#34;授权规则&#34;,您可以在Scope delegation sbt文档中阅读。