我正在编写一个为compile
任务添加集合的插件。
package myplugin
import sbt._
import Keys._
object MyPlugin extends AutoPlugin {
object autoImport {}
override lazy val projectSettings = Seq(
compile <<= compile.andFinally {
println("foo")
}
)
}
但是当我在项目中使用它时,我看到
Reference to undefined setting:
*:compile from *:compile ((myplugin.MyPlugin) MyPlugin.scala:10)
Did you mean compile:compile ?
这可能在 ( , 等) 中定义的任何上下文编译器中都很Compile
有用Test
。
更改compile
以(compile in Compile)
解决问题。
但是明确列出上下文会省略一些,例如ScctTest
(来自 SCCT 插件,用于代码覆盖)。
有没有一种方法可以为所有上下文定义此操作并进行编译?还是我试图做一些违背最佳实践的事情?