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