2016-09-20 5 views
1

sbt-gitでSBTを使用して、Gitリビジョンからビルドのバージョンを取得しています。 「つまり、バージョン番号のように、複製されるsbt-gitを使用してパッケージをビルドすると、 "SNAPSHOT-SNAPSHOT"バージョン修飾子

val versionRegex = "v([0-9]+.[0-9]+.[0-9]+)-?(.*)?".r 

git.useGitDescribe := true 
git.baseVersion := "0.0.0" 
git.gitTagToVersionNumber := { 
    case versionRegex(v, "") => Some(v) 
    case versionRegex(v, "SNAPSHOT") => Some(s"$v-SNAPSHOT") 
    case versionRegex(v, s) => Some(s"$v-$s-SNAPSHOT") 
    case _ => None 
} 

はしかし、これは時々修飾子を結果:具体的には、バージョン番号としてgit describeからの出力を使用して、現在のリビジョンがタグ付けされていない「SNAPSHOT」修飾子を追加しています0.0.0-12345678-SNAPSHOT-SNAPSHOT」を参照してください。

明らかな理由はありません。 gitTagToVersionNumberの "-SNAPSHOT"を削除すると問題は解決されますが、他の場合は修飾子が完全に削除されます。

答えて

2

ビルド中にGit作業コピーにコミットされていない変更がある場合、sbt-gitは追加の修飾子を追加します。

デフォルトでは、この修飾子は "SNAPSHOT"に設定されています。 uncommittedSignifierの設定で変更できます。例:

git.uncommittedSignifier := Some("DIRTY") 
関連する問題