3

私は2つのサブプロジェクトとそれらに同意するトップレベルのプロジェクトを持っています。それらすべてを正常にリリースできますが、最上位プロジェクトのバージョンのみが変更され、サブプロジェクトは、残念ながらリリース中に変更されないディレクトリで定義されたバージョンでリリースされます。

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-SNAPSHOTでインクリメントされます

sbt 0.13sbt-releaseプラグインを使用してそれを行うにはどうすればよいですか?

4

2 に答える 2

7

サブモジュールの各 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 フォルダーに配置されます。

于 2015-04-09T00:31:29.237 に答える