複数のプラットフォーム (Mac および Windows) で NAR を構築しています。ビルドは複雑で、Maven NAR プラグイン自体を介して実行することはできませんが、nar ファイルを自分でビルドし、mvn
デプロイ用のコマンドライン ツールを使用しています。
展開を行う一般的な方法は、一発です。
mvn deploy:deploy-file \
-Dfile=foobar.jar \
-Dpackaging=jar \
-Dfiles=foobar-x86_64-MacOSX-gcc-shared.nar,foobar-x86_64-Windows-MSVC-shared.nar \
-Dclassifiers=x86_64-MacOSX-gcc-shared,x86_64-Windows-MSVC-shared \
-Dtypes=nar,nar \
-DgroupId=com.example \
-DartifactId=foobar \
-Dversion=1.0.0-SNAPSHOT \
-Durl=$URL \
-DrepositoryId=nexus
ただし、ビルドは異なるボックスで実行されているため、公開手順を一度に行うことはできません。理想的には、ビルドが終了したときに、添付ファイルをプライマリ アーティファクトに「追加」できるようにしたいと考えています。すなわち、
これを 1 回実行します。
mvn deploy:deploy-file \
-Dfile=foobar.jar \
-Dpackaging=jar \
-DgroupId=com.example \
-DartifactId=foobar \
-Dversion=1.0.0-SNAPSHOT \
-Durl=$URL \
-DrepositoryId=nexus
次に、Mac ビルド スレーブで次のようにします。
mvn deploy:deploy-file \
-Dfiles=foobar-x86_64-MacOSX-gcc-shared.nar \
-Dclassifiers=x86_64-MacOSX-gcc-shared \
-Dtypes=nar \
-DgroupId=com.example \
-DartifactId=foobar \
-Dversion=1.0.0-SNAPSHOT \
-Durl=$URL \
-DrepositoryId=nexus
次に、Windows ビルド スレーブで:
mvn deploy:deploy-file \
-Dfiles=foobar-x86_64-Windows-MSVC-shared.nar \
-Dclassifiers=x86_64-Windows-MSVC-shared \
-Dtypes=nar \
-DgroupId=com.example \
-DartifactId=foobar \
-Dversion=1.0.0-SNAPSHOT \
-Durl=$URL \
-DrepositoryId=nexus
もちろん、最初のコマンドは問題なく動作します。しかし、2 つのビルド スレーブ コマンドは失敗します。
The parameters 'file' for goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy-file are missing or invalid
プライマリ アーティファクトが必要であると考えているためです。
完全に新しいものを作成するのではなく、パブリケーションに追加していることをどのように指定できますか?