おそらくこれにかなり似ている質問があります。かなり一般的な問題であると想像しなければならないこと、つまり同じアーティファクトで複数のバリエーションを生成するようにMavenを構成する方法を解決する必要がありますが、まだ良い解決策を見つけていません。
マルチモジュールプロジェクトがあり、最終的にassembly
プラグインがアーティファクトを生成します。ただし、アセンブリの一部には、最近大幅に変更されたライブラリが含まれているため、プロジェクトの一部のコンシューマーにはライブラリバージョンNが必要であり、他のコンシューマーにはバージョンN+1が必要です。theproject-1.2.3.thelib-1.0.tar.gz
理想的には、たとえば、などの複数のアーティファクトを自動的に生成しますtheproject-1.2.3.thelib-1.1.tar.gz
(これは、プロジェクトのリリース1.2.3であり、ライブラリバージョン1.0または1.1のいずれかに対して実行されます)。
現在、問題のライブラリの最新バージョンに対してビルドするデフォルトのプロパティと、古いバージョンに対してビルドするプロファイルがたくさんあります。この方法でどちらか一方をデプロイできますが、1つのビルドで両方をデプロイすることはできません。上記の質問とは異なる主な問題点は次のとおりです。プラグイン内でbuild-one-clean-build-the-otherを自動化することはできません。release
通常、mvn release:prepare release:perform
マルチモジュールプロジェクトのルートから、内部のNexusへのすべてのデプロイを処理します。ただし、その場合は、古いライブラリプロファイルを実行するか、なしで実行して新しいプロファイルを取得するかのいずれかを選択する必要があります。両方をデプロイするにはリリースプラグインが必要です。これは不可能ですか?自動ビルドでさまざまなプラットフォームのサポートを生成したいと思っているのは、私たちが最初ではないことを想像する必要があります。