如何在所有范围内扩展任务(甚至是当前未定义的)?

时间:2015-01-10 23:27:02

标签: scala sbt sbt-plugin

我正在编写一个插件,为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 ?

这可能在(CompileTest等)中定义的任何上下文编译器中都很有用。

compile更改为(compile in Compile)可解决问题。

但明确列出上下文会省略一些内容,例如ScctTest(来自SCCT插件,用于代码覆盖)。

有没有办法可以为所有上下文定义此操作进行编译?或者我是否正在尝试做一些违反最佳做法的事情?

0 个答案:

没有答案