2

私のチームには、いくつかのレポート プラグイン構成を含むモジュールを持つ共通の親プロジェクトがあります (たとえば、checkstyleのマルチモジュール構成に似ていますが、別のプロジェクトにある checkstyle と findbugs)。共通の親プロジェクトを「common」、レポート モジュールを「build-tools」と呼びます。

共通プロジェクトがリリースされたときに、手動リリースを行わずに共通プロジェクトが正しいバージョンの build-tools モジュールを参照するようにする方法を見つけようとしています。

ここに私が試したことのいくつかがあります:

  • build-tools のバージョン番号には ${project.version} を使用します。これは、共通を親として使用するプロジェクトで指定されたバージョン番号を使用します。
  • 通常のバージョン番号を使用してください。これらは共通プロジェクトでは更新されません。
  • プロパティを使用します。繰り返しますが、プロパティ値はリリース時に更新されません。

ありがとう!

4

2 に答える 2

0

これを行うために私が知っている唯一の方法は、commonツールとbuild-toolsを同じバージョンにし、release:prepare時に-DautoVersionSubmodulesを使用することです。一般的なアグリゲートビルドツールであるため、リリース時に両方のモジュールのSNAPSHOTバージョンが同じである場合、リリースプラグインは両方をリリースしてアップレブします。

編集:依存関係のバージョンを正しく保つには、最初のオプションが機能するはずです。共通:

<dependency>
    <groupId>com.foo</groupId>
    <artifactId>build-tools</artifactId>
    <version>${project.version}</version>
</dependency>

これにより、Common Projectは、Common自体と同じバージョンのビルドツールに常に依存するようになります。彼らが常にロックステップでアップレブする場合、それはあなたが望むことをするはずです。問題はありますか?

于 2011-07-26T14:17:15.840 に答える
0

どのバージョンの maven-release-plugin を使用していますか? 2.1を試してください。これにより、バージョン プロパティの置換が適切に処理されるはずです。

于 2011-07-25T15:44:52.313 に答える