2012-05-04 14 views
0

私は方法を知っていますavoid deploying a module during the release process。何が明確でないのは、建物モジュールが始まるのを避ける方法です。たとえば、私のプロジェクトには "examples"モジュールが含まれています。ビルドには非常に時間がかかり、Maven Centralにデプロイされることはありません。そのため、デプロイ時のみにビルドすることは避けてください。何か案は?Maven:リリース中にモジュールを構築しないようにする方法は?

答えて

1

あなたはMavenのリリースプラグインを使用している場合は、プロジェクトは通常、両方のステップで構築されているのでは、リリース手順を準備し、両方の世話をする必要があります。プロジェクトのビルドが含まれ、デフォルトでclean verifyを使用していますステップを準備し、私がしようとするだろうpreparationGoalsパラメータ、、については

。おそらく、それを構築するのを避けるためにcleanに設定しようとすることができます。 については http://maven.apache.org/plugins/maven-release-plugin/perform-mojo.html

は、ステップを実行し、デフォルトでdeployに設定されているgoalsパラメータ、を見てみましょう。これを無効にするには、cleanのみを指定します。

私はこの正確な組み合わせを試していないので、残りのビルドに副作用があるかどうかはわかりません。

+0

あなたの提案は機能しません。リリースプラグインは、トップレベルプロジェクトで「mvn clean verify」を呼び出す外部プロセスをフォークし、これが順番にすべてのサブモジュールを処理します。言い換えれば、異なるモジュールに対して 'release:prepare'のために異なる' goal'を設定できるようには見えません。 – Gili

1

この場合、最も重要なことは、プロファイルを使用し、そのプロファイルを使用して別のモジュールに配置することです。これにより、リリース時のビルドを防ぐことができますが、通常の開発時などにプロファイルをアクティブにしてビルドすることができます。

+0

はい、これは2つの問題を引き起こします:1. 'release:prepare'がモジュールのバージョン番号を更新するがビルドはしたくない。それをどうやって行うのかは明らかではありません。 2.理想的には、 'examples'はデフォルトでビルドするべきです(ユーザーにプロファイルのことを覚えさせるのではなく)。 – Gili

関連する問題