このページでは、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
を渡すことができます。