2016-06-14 37 views
0

私は複数のMavenプロジェクトをoss.sonatype.orgにデプロイし、Maven中心にリリースすることで、複数のMavenプロジェクトを一緒にリリースしようとしています。複雑なMavenプロジェクトのNexusステージングMavenプラグイン?

私はいくつかのマルチモジュールプロジェクトを一緒にビルドするために使用するビルドポームを持っています。ビルドpomは親pomではなく、それぞれ別々のマルチモジュールプロジェクトには親pomがあります。ビルドポンポンで

、私はネクサスステージングプラグイン設定:私はビルドするとどうなります

<plugin> 
    <groupId>org.sonatype.plugins</groupId> 
    <artifactId>nexus-staging-maven-plugin</artifactId> 
    <version>1.6.3</version> 
    <extensions>true</extensions> 
    <configuration> 
     <serverId>ossrh</serverId> 
     <nexusUrl>https://oss.sonatype.org/</nexusUrl> 
     <autoReleaseAfterClose>true</autoReleaseAfterClose> 
    </configuration> 
</plugin> 

は、(たとえば#すべてのサブモジュールが構築され、ステージングレポでネクサスにアップロードされていることです4005)。そして最後に、上記のプラグインが新しいリポジトリ(#4006など)を開き、ビルドpomだけをアップロードして閉じます。つまり、私のビルドポームはリリースされますが、サブモジュールのいずれもリリースされません。

このプラグインのライフサイクルを明示的に制御する方法はありますか?ビルドの開始時に新しいリポジトリを開き、すべてのサブモジュールをアップロードしてから閉じてリリースしたいと思います。

+0

集団モジュール「pom type」を作成してすべてのサブモジュールを収集し、それをリリースし、所有しているすべてのサブモジュールを解放することができます。同じMavenリアクタで構築されていない場合彼らはtogheterをリリースされません、その場合、あなたは一つずつリリースする必要があります...私はMavenプラグインの側でネクサスステージングで話しているわけではありませんが、Mavenから構造体の側を解放しています... – ivoruJavaBoy

+0

ビルドポームはいくつかの他のポムを集約し、それぞれにサブモジュールがあります。全体的なビルドポンはサブモジュールから継承されていません。 – user2800708

+0

それを得ました、あなたが何をしたいのか説明してください、モジュールをリリースするとどういう意味ですか?ステージング・プラグインを使用してアーチファクトを配布することはできますが、アジャスト・リリースをリリースすることはできません。アグリゲータでリリース・プラグインを実行するだけの場合はどうしたらいいですか? – ivoruJavaBoy

答えて

0

pomが親でない場合、異なるマルチモジュールプロジェクトにはステージングプラグインの設定がありません。では、デプロイメントプラグインを介してデプロイされているだけですか?それはうまくいかない混在したユースケースです。

Mavenプロジェクトをすべて1つの原子炉で実行し、すべてステージングプラグインでデプロイするように設定する必要があります。

私が考えることのできる唯一の他の選択肢は、1つまたは複数のステージングリポジトリにすべてのマルチモジュールの子の完全ビルドを通常の展開として実行し、その後ステージングプラグインのremote control goalsと一緒にリリースすることです。それはおそらく、何らかのスクリプティングや、少なくともいくつかのテストが必要です。

+0

ステージングプラグインを各マルチモジュールプロジェクトに追加して、何が起こるかを見てみましょう。それぞれが独自のステージングレポで終わるでしょうか?それは実際にはあまりにも悪くないかもしれません。 – user2800708

関連する問題