Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 从build.sbt设置任务设置_Scala_Plugins_Sbt_Settings - Fatal编程技术网

Scala 从build.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

我正在编写一个小型sbt插件来生成一些文件,这些文件应该可以通过目标路径参数进行配置。因此,我编写了以下插件代码:

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"