Apple アプリと Bazel

問題を報告 ソースを表示

このページでは、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_configxcode_config ターゲットに設定する必要があります。このターゲットの versions 属性には、リモートから利用可能な xcode_version ターゲットのリストを指定します。また、その default 属性には、xcode_versions を指定します。

動的実行を使用している場合は、--xcode_configxcode_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 を渡すことができます。