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 版本。這種做法適用於本機執行。

如果您要執行遠端建構,應將 --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