我正在关注How to generate resources上的SBT文档,试图在插件中获取一个resourceGenerator任务,以便在编译时运行。
这就像你在文档中看到的一样简单:
object TestResourcePlugin extends AutoPlugin {
import SbtWeb.autoImport._
import WebKeys._
override def requires = SbtWeb && plugins.JvmPlugin
override def trigger = AllRequirements
override def projectSettings = Seq(
resourceGenerators in Compile += Def.task {
val file = (resourceManaged in Compile).value / "demo" / "test"
val contents = "test file"
IO.write(file, contents)
Seq(file)
}.taskValue
)
}
我遇到sbt.plugin.JvmPlugin
重置sourceGenerators in Compile
密钥的情况,这意味着我向其添加任务不会做任何事情,除非我需要JvmPlugin
首先加载(正如我上面所做的那样)。这里发生了类似的事情吗?
答案 0 :(得分:0)
添加到Resource Generators键的任何内容只会在实际需要时执行,例如在运行任务上执行。
这是用户错误,只是对SBT文档的误解。