首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用sbt发布插件实现独立的多模块版本控制

如何用sbt发布插件实现独立的多模块版本控制
EN

Stack Overflow用户
提问于 2014-09-09 13:49:29
回答 2查看 1.9K关注 0票数 3

我有两个子项目和最高级别的项目,同意他们。我可以成功地发布所有这些内容,但是只有顶级项目的版本才会被更改,而子项目的版本是用目录中定义的版本发布的,不幸的是,在发布过程中没有更改。

代码语言:javascript
复制
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"

在释放后,我希望:

  • 根作为0.1.0发布(尽管我根本不关心根)
  • SubA释放为0.0.1
  • SubB释放为0.0.4

并且每个版本都是递增的,例如在SubA/version.sbt -> 0.0.2-快照中

我如何使用sbt 0.13sbt-release插件来做到这一点呢?

EN

回答 2

Stack Overflow用户

发布于 2015-04-09 00:31:29

您需要覆盖version.sbt文件在子模块的每个build.sbt中的默认位置:

代码语言:javascript
复制
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发行版的根文件夹中。

票数 7
EN

Stack Overflow用户

发布于 2018-07-12 09:37:08

创建一个单独的类/对象并定义一个commonSettings惰性val,并在那里设置version := {your_docker_version) (您可以以不同的方式覆盖这个值,例如通过System.property等)。

然后在所有模块中使用这个commonSettings。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25746376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档