有人可以在这个神秘的习语中解释每个compile
和Compile
的含义:
compile in Compile <<= (compile in Compile).dependsOn(Def.task {
println("task is running") // or whatever code here in the body
})
答案 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文档中阅读。