相关疑难解决方法(0)

如何在sbt插件中生成源代码?

我正在尝试生成一些源,如生成文件中所述.

当我把以下内容放入我的时候build.sbt,一切正常:

sourceGenerators in Compile += Def.task {
  val file = (sourceManaged in Compile).value / "demo" / "Test.scala"
  IO.write(file, """object Test extends App { println("Hi") }""")
  Seq(file)
}.taskValue
Run Code Online (Sandbox Code Playgroud)

但是当我尝试在插件中执行相同的操作时,任务永远不会运行:

object MyPlugin extends AutoPlugin {
  override lazy val projectSettings = Seq(
    sourceGenerators in Compile += Def.task {
      val file = (sourceManaged in Compile).value / "demo" / "Test.scala"
      IO.write(file, """object Test extends App { println("Hi") }""")
      Seq(file)
    }.taskValue
  )
}
Run Code Online (Sandbox Code Playgroud)

我放入插件的其他所有内容似乎都运行正常,但源文件永远不会生成.

我错过了重要的事吗?

scala sbt

15
推荐指数
1
解决办法
2100
查看次数

标签 统计

sbt ×1

scala ×1