我希望通过一个包含文件在多个build.sbt
文件中设置外部版本号。
。我可以这样做
val base = "1.1"
version := base + ".8-SNAPSHOT"
这可以作为第一步。
根据在线帮助,我应该能够在我的~/.sbt/0.13
文件夹中创建一个文件global.sbt
global.sbt
val base = "1.1"
并从build.sbt
但是当我启动我的sbt时,我得到"error: not found: value base"
所以,要么它没有找到全局sbt,要么这种形式的全局设置不起作用
关于如何解决这个问题,有什么建议吗?我可以在构建中使用显式的include命令吗?sbt文件?
从您的测试来看,全局~/.sbt/0.13/*.sbt
文件中的val
s不会传播到本地*.sbt
文件。
下面是一个有效的设置:
~/.sbt/0.13/插件/VersionBasePlugin.scala
import sbt._, Keys._
object VersionBasePlugin extends AutoPlugin {
override def requires = plugins.CorePlugin
override def trigger = allRequirements
object autoImport {
val versionBase = settingKey[String]("version base")
}
import autoImport._
override def projectSettings = Seq(versionBase := "1.1")
}
,然后在build.sbt
:
version := (versionBase.value + ".8-SNAPSHOT")
这对你有用吗?