未为子项目设置根项目版本

时间:2021-02-20 15:36:01

标签: scala sbt

我正在使用 sbt package 打包多项目 sbt 构建,并在 build.sbt 根目录中设置以下版本属性:

version := "1.0.0"

但不幸的是,聚合的子项目 jar 都有 0.1.0-SNAPSHOT 后缀,除非我专门为每个子项目指定 version :=。有没有办法传播 version := "1.0.0" 根中的 build.sbt 集?或者任何其他方式为所有聚合的子项目设置版本?

我试过了

lazy val root = project
  .in(file("."))
  .aggregate(
       //...
   )
  .settings(
    version := "1.0.0",
    //...
   )

但是没有用。

1 个答案:

答案 0 :(得分:1)

来自Examples of scoped key notation in the sbt shell

<块引用>
  • ThisBuild / version 将子项目轴设置为“整个构建”,其中构建为 ThisBuild,使用默认配置。

因此,正如@LuisMiguelMejíaSuárez 在评论中提到的,以下应该做到这一点:

ThisBuild / version := "1.0.0"
lazy val root = project
  .in(file("."))
  .aggregate(
       //...
   )
  .settings(
    //...
   )

一般来说,我建议您阅读关于 Scopes 的 sbt。