【发布时间】:2021-06-08 05:37:18
【问题描述】:
有没有办法在 plugins.sbt 中获取 scalaVersion 设置的值?
我尝试在plugins.sbt 内部执行以下操作:
logLevel := Level.Warn
resolvers += "Typesafe repository" at "https://repo.typesafe.com/typesafe/releases/"
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.8.7")
val version = scalaVersion.value
这是我得到的错误:
错误:值只能在任务或设置宏中使用,例如:=, +=、++=、Def.task 或 Def.setting。
我想在 plugins.sbt 中实现的是检索 scalaVersion 设置的值并将该值与 addSbtPlugin 一起使用,如下所示:
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.8.7").filter(_ => version == "2.12")
【问题讨论】:
-
你能发布整个代码 sn-p 吗?此错误表示您的值声明位置错误。
-
@Ivan Kurchenko ,我更新了问题并发布了整个 plugins.sbt 文件,但我想它只与声明该 val 的特定行有关。如您所见,我直接声明它,而不是在 sbt 任务中,也不是设置
-
您可以尝试在
plugins.sbt中详细说明您要使用该版本实现的目标。这可能对你有用:stackoverflow.com/q/11768730/2359227 -
@Tomer Shetah ,目标是使用带有 addSbtPlugin 的 scala 版本
-
@Tomer Shetah,我已经更新了我的问题,我描述了我想要实现的目标