1

我正在编写一个为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 插件,用于代码覆盖)。

有没有一种方法可以为所有上下文定义此操作并进行编译?还是我试图做一些违背最佳实践的事情?

4

0 回答 0