我有两个子项目和顶级项目,他们同意这些项目。 我可以成功发布所有这些版本,但只更改了顶级项目上的版本,并且使用其目录中定义的版本发布子项目,遗憾的是在发布期间不会更改。
Root
|
-SubA
| |- version.sbt -> version in SubA := "0.0.1-SNAPSHOT"
|
-SubB
| |- version.sbt -> version in SubB := "0.0.4-SNAPSHOT"
|- version.sbt -> version in ThisBuild := "0.1.0-SNAPSHOT"
发布后我想:
并且例如在SubA/version.sbt
- >中增加每个版本。 0.0.2-SNAPSHOT
如何使用sbt 0.13
和sbt-release
插件执行此操作?
答案 0 :(得分:6)
您需要覆盖子模块的每个build.sbt中的version.sbt文件的默认位置:
import ReleaseKeys._
organization := "com.organization"
name := "moduleName"
version := (version in ThisBuild).value
scalaVersion := "2.11.6"
releaseSettings
versionFile := file(name.value + "/version.sbt")
默认情况下,version.sbt通过sbt-release位于ROOT文件夹中。
答案 1 :(得分:0)
制作一个单独的类/对象并定义一个commonSettings
惰性值,然后在其中设置version := {your_docker_version)
(您可以通过其他方式覆盖此值,例如通过System.property等。
然后在所有模块中使用此commonSettings。