しばらくの間ネットを掘り下げていたので(もちろんstackoverflowも含まれています)、結果が得られなかったので、ここで何か間違ったことをしていると感じています。
簡単に言えば、正常に動作し、バージョンを正しくインクリメントし、SVN のコードをチェックインし、タグを付けて問題なくデプロイする Maven リリース プラグインを使用して Maven プロジェクトをセットアップしました。
ただし、生成されたjarを参照する必要があるリリースごとにスクリプトも生成する必要があります。これは次の 2 つのことを意味します。
- リリース バージョンの場合は、スクリプトを変更してリリース バージョンを含め、SVN にコミットし直します (タグ付けされるなど)。
- リリースに続いて、(次の) SNAPSHOT バージョンを含むようにスクリプトを更新し、SVN にコミットする必要があります。
たとえば、pom の現在の作業バージョンが 1.1.1-SNAPSHOT であるとします。そのため、私の script.sh には project-1.1.1-SNAPSHOT.jar への参照が含まれています。mvn release:prepare を実行すると (maven-release-plugin によって提案されたバージョンに固執すると仮定して)、リリース バージョンは 1.1.1 になります。この段階で、script.sh を project-1.1.1.jar を参照するように変更し、再度コミットする必要があります。 pom は 1.1.2-SNAPSHOT に変更され、SVN にコミットされます。この時点で、project-1.1.2-SNAPSHOT.jar を参照するようにスクリプトを変更する必要があります。
GMavenプラグインのようなものを使用してスクリプトを簡単に変更できることがわかりました-そして、実際にはリソースの準備段階でスクリプトを開始する必要があります(おそらく別のものを見る必要がありますか?)しかし、私が最大の問題see は、maven-release-plugin が使用することを決定したバージョンを取得しています。
- maven-release-plugin が使用することを決定したリリース バージョン
- maven-release-plugin が使用する次の dev/SNAPSHOT バージョン
これらにアクセスできたら、GMaven に必要なコードを実行させて、それに応じてスクリプトを変更できると思います。(ただし、上記のシナリオを見て、これを行うためのより良い方法をお勧めできる場合は、それを聞いてうれしいです!) ${project.releaseVersion} のようなプロパティはありますか (ところで、それは機能しません)これら2つのバージョン番号を教えてくれるのはどれですか?
前もって感謝します!
リヴ