次のマルチプロジェクトの場合、バージョン管理とリリース管理のベスト プラクティスは何ですか?
プロジェクトの構造
- グローバル親
- 親プロジェクト (バージョン: 1.0-SNAPSHOT)
- 子プロジェクト 1 (親と同じ)
- 子プロジェクト 2 (親と同じ)
- 子プロジェクト 3 (親と同じ)
- 子プロジェクト 4 (親と同じ)
- …</li>
- 親プロジェクト (バージョン: 1.0-SNAPSHOT)
プロジェクトのすべての部分が同じバージョンでなければならないため、親プロジェクトとすべての子プロジェクトのバージョンを 1 回だけ設定したいと考えています。
また、私が望むのは、continuum/maven を使用してプロジェクトをリリースすることです。
現在の「悪い」解決策:
通常、親 pom でバージョンを設定し、すべての子で「親からの最後のバージョン」と言うのが簡単な方法ですが、これは Maven <3.1 では機能しません (こちらを参照)[http://jira.codehaus.org/browse/ MNG-624] すべての子プロジェクトに親プロジェクトのバージョンを設定し、リリースごとにすべての子と親のバージョンを変更する必要があります。
例:
親
<groupId>com.test</groupId>
<artifactId>com.test.buildDefinition</artifactId>
<version>1.0-SNAPSHOT</version>
子
<parent>
<groupId>com.test</groupId>
<artifactId>com.test.buildDefinition</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<groupId>com.test</groupId>
<artifactId>com.test.project</artifactId>
<version>${parent.version}</version>
Continuum を使用して今すぐプロジェクトをリリースしたい場合は、次の順序でリリースします。
- 親プロジェクト
- 子プロジェクト 1
- 子プロジェクト 2
- …</li>
しかし、これは機能しません。親のバージョンを変更した後、子は親に SNAPSHOT バージョンを持たなくなり、連続体でマルチプロジェクトをリリースするより良い方法があるに違いないと思います。