2012-03-19 8 views
0

mvn release:prepareを使用してビルドをリリースしたいと考えています。しかし、我々はまた、依存関係を構築し、どちらの構築もSNAPSHOTを使用します。私たちは一緒にこれらをリンクできるかに見て、私が見つけた最も簡単な方法は書くことだった2つのMavenの目標をリンクして別のものを実行するにはどうすればよいですか?

mvn versions:update-properties 
mvn versions:update-parent 
svn ci 
mvn release:prepare 

Mavenの-バージョン-プラグインは、私たちはこれに対処することができますので、私たちのビルドプロセスは次のようになりますカスタムライフサイクルを持つプラグイン:

誰かがもっとうまくできますか?その複雑さのレベルでは、私はちょうど3つのラインを文書化したいと思う。

のPOMはこれが役に立てば幸い、非常に長いのようになります。

Parent (has a version) 
|- ParentFather 
|- ParentMother 

Main (parent is Parent, has a version, contains property Child.version) 
|- MainBrother (depends on MainSon and ParentFather) 
|- MainSister 
|- MainDaughter (has version Child.version) 
|- MainSon (has version Child.version) 

だから私の最終目標である主を、解放するために、私は親、息子、および娘を解放する必要があります。これを済ませたら、これらのバージョンを使うためにMainを更新する必要があります。

+0

このプロジェクトに使用しているpomの抜粋を与えることができますか? mvnバージョン:update-parentは私にとってはちょっと奇妙なようです...通常はマルチモジュールでmvnをビルドしてください:リリースを準備してください:十分です。 – khmarbaise

+0

@khmarbaise、あなたはそうかもしれませんmリリース-pは私たちのためにupdate-parentを実行しますが、Child.versionプロパティを更新することはできません。もしそうなら、それは問題を解決するでしょう! – lxs

+0

メインはParentと同じレベルですか?はいの場合、親構造体を最初と最後の後にリリースする必要があります。mvn release cycleを使用するだけで、Mainをリロードできます(メインで親を更新する必要があるかもしれません)。しかし、あなたの説明に基づいて、メインはParentの下のサブレベルでなければならないように思えますか? – khmarbaise

答えて

1

自動化したい場合は、簡単なスクリプトも役に立ちます。前のステップが失敗しなかったことを確認するために戻り値の評価を追加することもできます。

この手順を順番に実行するプロファイルを調べましたか? versionsプラグインの手順をプロジェクトの初期段階にバインドしてから、SVNコミット(SCMプラグインを使用)とリリースに従うことができます。

+0

スクリプトはオプションですが、ビルドの移植性に影響し、 "もう1つのコマンド"に入り込む誘惑があります。プロファイルが可能かもしれないが、それはちょっとハッキリだと感じるが、私はそれを調べるだろう。 – lxs

関連する問題