Scala 从build.sbt设置任务设置
我正在编写一个小型sbt插件来生成一些文件,这些文件应该可以通过目标路径参数进行配置。因此,我编写了以下插件代码:Scala 从build.sbt设置任务设置,scala,plugins,sbt,settings,Scala,Plugins,Sbt,Settings,我正在编写一个小型sbt插件来生成一些文件,这些文件应该可以通过目标路径参数进行配置。因此,我编写了以下插件代码: object GeneratorPlugin extends AutoPlugin { object autoImport { val targetPath = settingKey[String]["target directory"] val generateFiles = taskKey[Unit]["generate files"] } imp
object GeneratorPlugin extends AutoPlugin {
object autoImport {
val targetPath = settingKey[String]["target directory"]
val generateFiles = taskKey[Unit]["generate files"]
}
import autoImport._
override def trigger = allRequirements
override lazy val buildSettings = Seq(
targetPath := ".",
generateFiles := generateTask
)
lazy val generateTask = Def.task {
System.out.println(targetPath.value)
}
}
使用project/plugins.sbt中的addSbtPlugin导入此文件并使用sbt GenerateFile运行时,正确打印。。但是,当我在build.sbt中更改targetPath的值时,结果不会更改
targetPath := "/my/new/path"
sbt生成文件的结果仍然是。。
导入插件时,是否有方法更改my build.sbt中targetPath的值?您可以这样更改它:
targetPath in ThisBuild := "/my/new/path"
或者使用SBT1.1的新斜杠语法
ThisBuild / targetPath := "/my/new/path"