質問

ゴール

モジュールごとにタグを使用してマルチモジュールMavenリリース

状況

MavenベースのJavaプロジェクトの次のプロジェクト構造を想定してください。

xx-parent
xx-moduleA
xx-moduleB
xx-moduleC/submodule1
xx-moduleC/submodule2
xx-moduleC/submodule3

転覆のプロジェクト構造は次のとおりです。

xx-parent/trunk
xx-moduleA/trunk
xx-moduleB/trunk
xx-moduleC/trunk/submodule1
xx-moduleC/trunk/submodule2
xx-moduleC/trunk/submodule3

私の目標は、リリースを実行するときにモジュールごとにタグを作成することです。

xx-parent/tags/xx-parent-1.0
xx-moduleA/tags/xx-moduleA-1.0
xx-moduleB/tags/xx-moduleB-1.0
xx-moduleC/tags/xx-moduleC-1.0

過去には、各モジュールが個別に構築およびリリースされました。プロジェクトが大きくなると(30モジュール)、リリースを構築する時間が増加しました。プロジェクトを、原子炉ビルドとリリースを実行するためにセットアップされたマルチモジュールに変更したいと思います。建物は問題ではないようですが、モジュールごとにタグを作成することはそうです。

Maven-Release-Pluginは、プロジェクト/リリース全体に1つのタグのみを作成することを主張しているようです。モジュールごとのタグなど、複数のタグを作成する方法を探しています。

私がこれまでに試したこと

  • すべてのサブモジュールをチェックアウトするXX-All Subversionエイリアスを作成するので、それらを参照できます <module>../xx-moduleB</module>
  • 有効化 CommitByproject, 、モジュールごとにコミットしましたが、モジュールごとにタグはしませんでした。見る
  • 各モジュールには独自のものがあります <scm> の要素 pom.xml, 、しかし、それらは原子炉のリリースを実行するときは使用されません。
  • mvn --batch-mode -DcommitPerProject=true -DautoVersionSubmodules=true -Drelease.version=1.0.6 release:prepare release:perform

問題

  • Maven-Release-Pluginは、モジュールごとにSVNタグを作成しません
  • Maven-Release-Pluginが上書きします <scm> 無効なURLを備えたタグ、例えばネストされた「トランク」 - xx-parentタグの下のタグ

質問

Mavenリリースプロセス、マルチモジュールレイアウトでこのプロジェクトを設定して、モジュールごとに個別のタグを取得するにはどうすればよいですか?

参照

http://jira.codehaus.org/browse/mrelease-261 (閉じた)およびMRELEASE-561(オープン)

役に立ちましたか?

解決

ArnaudHéritier(Apache Maven PMCメンバー)によると、
Mavenは、Module-A V0.1、Module-B V0.3などの複合アプリケーションを処理できません。
Mavenは、プロジェクトと彼のすべてのサブモジュールをユニークなセットと考えています。

見る: http://blog.aheritier.net/maven-release-plugin-2-0/ (2010年6月9日)

たぶん、Maven 3で状況が変わったのでしょうか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top