私はjgitver libraryを使って、Gitリポジトリの状態を使ってsemverを自動的に生成しています。jgitverプラグイン、バージョンをpomに取得
モジュールが相互に依存しているマルチモジュールプロジェクトがあります。つまり、あるモジュールに変更を加えると、変更されたモジュールの新しいバージョンを参照する必要があります。
すべてのモジュールが同じGitリポジトリにあるため、Gitを変更するとすべてのモジュールのバージョンが変更されます。以下の私のプロジェクト構造の一例である
.git (Common repository)
module1
common-module
pom.xml (Parent POM)
後にはjgitver
によって生成された任意の時点のバージョンはmodule1
とcommon-module
のために同じになる時以来、私は、依存モジュール
<-- POM of module1, includes common-module-->
<dependency>
<groupId> com.test</groupId>
<artifactId>common-module</artifactId>
<version>1.0.0</version> <!-- version generated by jgitver -->
</dependency>
が含まれているかの一例であり、同じGitリポジトリにあるので、私はすべてのモジュールにバージョンをハードコードしたくありません。バージョンが変更された場合、私は手動でcommon-module
依存関係のすべてのモジュールのバージョンを変更する必要があります。
jgitver
によって生成された現在のバージョンを参照するために使用できる${project.version}
のような変数はありますか?
私は
<dependency>
<groupId> com.test</groupId>
<artifactId>common-module</artifactId>
<version>${JGITVER_GENERATED_VERSION_VARIABLE}</version> <!-- version generated by jgitver -->
</dependency>