在global.sbt的sbt构建文件中包含一个简单的val

时间:2015-05-27 09:10:44

标签: sbt

我希望通过单个包含文件在多个build.sbt文件外部设置我的版本号。

在build.sbt中,我可以这样做

val base = "1.1"

version := base + ".8-SNAPSHOT"

这是第一步。

根据在线帮助,我应该可以在global.sbt文件夹中创建文件~/.sbt/0.13

我用单行

创建了文件global.sbt
val base = "1.1"

并从build.sbt

中删除相应的行

但是当我启动我的时候,我得到了#34;错误:找不到:价值基数"

所以要么它没有找到全球的sbt,要么这种形式的全局设置都不起作用。

有关如何解决此问题的任何建议?

我可以在build.sbt文件中创建一个显式的include命令吗?

1 个答案:

答案 0 :(得分:0)

从您的测试看,全局val文件中的~/.sbt/0.13/*.sbt s不会传播到本地*.sbt文件。

这是一个有效的设置:

<强>〜/名.bst / 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")

这对你有用吗?