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 は自動生成された XcodeVersionConfig を使用します。これは、ホストマシンで利用可能な Xcode バージョンを表します。デフォルトのバージョンは、利用可能な最新の Xcode バージョンです。これはローカル実行に適しています。

リモートビルドを実行する場合は、versions 属性がリモートで利用可能な xcode_version ターゲットのリストで、default 属性がこれらの xcode_versions のいずれかである xcode_config ターゲットに --xcode_config を設定する必要があります。

動的実行を使用する場合は、remote_versions 属性がリモートで利用可能な Xcode バージョンを含む available_xcodes ターゲットで、local_versions 属性がローカルで利用可能な Xcode バージョンを含む available_xcodes ターゲットである xcode_config ターゲットに --xcode_config を設定する必要があります。local_versions には、自動生成された @local_config_xcode//:host_available_xcodes を使用することをおすすめします。デフォルトの Xcode バージョンは、相互に使用可能な最新バージョンです(存在する場合)。それ以外の場合は、local_versions ターゲットのデフォルトになります。local_versions のデフォルトをデフォルトとして使用する場合は、--experimental_prefer_mutual_default=false を渡すことができます。