このページでは、Bazel を使用して macOS プロジェクトと iOS プロジェクトをビルドする際に役立つリソースを紹介します。Bazel を使用したこれらのプラットフォームのビルドとテストに固有のチュートリアル、ビルドルール、その他の情報にリンクしています。
Bazel の操作
macOS と iOS のプロジェクトで Bazel を使用する場合は、次のリソースを参考にしてください。
Bazel への移行
現在、Xcode を使用して macOS プロジェクトと iOS プロジェクトをビルドしている場合は、移行ガイドの手順に沿って Bazel を使用したビルドを開始してください。
Apple アプリと新しいルール
注: 新しいルールの作成は、高度なビルドとテストシナリオを対象としています。 Bazel を使用する場合は、これは必要ありません。
次のモジュール、構成フラグメント、プロバイダは、macOS や iOS のプロジェクトをビルドする際に Bazel の機能を拡張するのに役立ちます。
モジュール:
構成フラグメント:
プロバイダ:
Xcode の選択
ビルドに Xcode が必要な場合、Bazel は --xcode_config フラグと --xcode_version フラグに基づいて適切なバージョンを選択します。--xcode_config は、利用可能な Xcode バージョンのセットを使用し、--xcode_version が渡されない場合にデフォルト バージョンを設定します。このデフォルトは、--xcode_config ターゲットで表される Xcode バージョンに設定されている限り、--xcode_version フラグでオーバーライドされます。
--xcode_config を渡さない場合、Bazel は、ホストマシンで利用可能な Xcode バージョンを表す自動生成された XcodeVersionConfig を使用します。デフォルト バージョンは、利用可能な最新の Xcode バージョンです。これはローカルでの実行に適しています。
リモートビルドを実行する場合は、--xcode_config を xcode_config ターゲットに設定する必要があります。このターゲットの versions 属性には、リモートから利用可能な xcode_version ターゲットのリストを指定します。また、その default 属性には、xcode_versions を指定します。
動的実行を使用している場合は、--xcode_config を xcode_config ターゲットに設定する必要があります。その remote_versions 属性には、リモートから利用可能な Xcode バージョンを含む available_xcodes ターゲットを指定します。また、その local_versions 属性には、ローカルで利用可能な Xcode バージョンを含む available_xcodes ターゲットを設定します。local_versions には、自動生成された @local_config_xcode//:host_available_xcodes を使用することをおすすめします。Xcode のデフォルト バージョンは、相互に利用可能な最新のバージョン(存在する場合)であり、それ以外の場合は local_versions ターゲットのデフォルトになります。デフォルトとして local_versions を使用する場合は、--experimental_prefer_mutual_default=false を渡すことができます。