【问题标题】:Include a simple val in sbt build files from global.sbt在 global.sbt 的 sbt 构建文件中包含一个简单的 val
【发布时间】:2015-05-27 18:12:47
【问题描述】:

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

在 build.sbt 中我可以做到这一点

val base = "1.1"

version := base + ".8-SNAPSHOT"

这作为第一步工作正常。

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

我用单行创建了文件global.sbt

val base = "1.1"

并从build.sbt中删除了对应的行

但是当我启动我的 sbt 时,我得到“错误:未找到:值基”

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

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

我可以在我的 build.sbt 文件中明确包含命令吗?

【问题讨论】:

    标签: sbt


    【解决方案1】:

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

    这是一个有效的设置:

    ~/.sbt/0.13/plugins/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")
    

    这对你有用吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-11
      • 1970-01-01
      • 2021-10-28
      • 2010-11-12
      相关资源
      最近更新 更多