2

私は、相互に依存するモジュールの大規模なセットの Maven リリースを自動化するプロジェクトに取り組んでいます。最初のタスクには、内部依存関係の最新バージョンを取得することが含まれます。すべてのプロジェクトが必要になる前にビルドされるようにビルドを注文するよりも。この組み合わせで、ワンクリックで一括リリースするという私の目標を達成できれば幸いです。

ただし、私の最大の問題は、プロジェクトを時々分岐し、その分岐から Nexus リポジトリ マネージャーへのリリース/スナップショットを行うことです。明らかに、groupId と ArtifactId はトランクと同じであるため、トランクからのスナップショット/リリースと、ブランチからのスナップショット/リリースは、ネクサスの同じ場所に配置されます。

トランク バージョン 1.1.x の projectA と projectB → projectA バージョン 1.1.x があるシナリオでは、バージョン プラグインを使用して B の最新の依存関係を取得すると、最新のものを取得します。(完全)

ただし、後で ProjectA をバージョン 1.2.0 で分岐し、projectB に反映させたくない変更を追加した場合、またはそれを壊す可能性があります。今度は projectB を実行し、バージョン プラグインを使用して最新の を取得します。プラグインは ProjectA のブランチ バージョン (1.2.0) を取得します。すると、projectB のビルドが失敗します。

これまで、アーティファクトに分類子を追加して 2 つを区別しようとしましたが、後でプラグインが分類子に作用しないことに気付きました。

これは私に多くの欲求不満を与え、ヒントやアドバイスをいただければ幸いです

4

2 に答える 2

1

この問題を解決するための一般的なアプローチは、バージョン分類子としてブランチ名を使用することであり、そのアプローチは、これまでに見たすべてのシナリオで機能します。これに関してどのような問題がありましたか?

于 2013-03-18T16:55:45.067 に答える