2

主にJavaコードで構成されたGradleビルドがあり、ネイティブコードも含まれています。ネイティブ コンポーネントは Ivy リポジトリ (Artifactory) に公開されます。これらには、DLL、LIB、ヘッダーなどが含まれています。これらのコンポーネントは現在、手動プロセスを使用して公開されています。Gradle を使用して C++ コードをビルドするソリューションはまだありません。

ネイティブ コンポーネントは、リリース ビルドとデバッグ ビルドの両方で、32 ビットと 64 ビットの両方のバリアントに存在します。これまでのところ、release-x86、release-x64 などの分類子を使用してそれらを公開してきました (すべての分類子でマークされたアーティファクトを同じ構成に配置します)。

分類子を使用してこれらのコンポーネントへの依存関係を宣言することができませんでした (私はここでこれについて尋ねました: Does Gradle support classifiers for Ivy repositories?しかし、回答が得られませんでした。SSCCE の最初の「S」に失敗したと思います)。

アーティファクトをフィルタリングするために私が見つけた唯一の方法は、DLLなどを提供する構成に依存し、ダウンロードしたファイルを名前でフィルタリングして、x86リリースDLLなどを取得することです(分類子がその一部であるため)。少し面倒なようです。

x86/x64、リリース/デバッグの組み合わせごとに個別の構成を検討しましたが、適切なソリューションとは思えません。これは、実行時の依存関係のために DLL をカプセル化するためだけに 4 つの構成です。対応するコンパイル時の依存関係 (LIB、PDB ヘッダー) には、さらに 4 つ必要です。

他の誰かが満足する方法でこれを達成しましたか?

4

0 に答える 0