Apple 應用程式與 Bazel

回報問題 查看原始碼 Nightly · 8.0 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

本頁面提供的資源可協助您使用 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_version 旗標設為 --xcode_config 目標中顯示的 Xcode 版本,這個預設值就會由 --xcode_version 旗標覆寫。

如果您未傳遞 --xcode_config,Bazel 會使用自動產生的 XcodeVersionConfig,代表主機上可用的 Xcode 版本。預設版本為最新可用的 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