Apple 應用程式與 Bazel

回報問題 查看來源 Nightly · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

本頁面提供相關資源,協助您使用 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_config,Bazel 會使用自動產生的 XcodeVersionConfig,代表主機上可用的 Xcode 版本。預設版本為最新可用的 Xcode 版本。這適用於本機執行作業。

如要執行遠端建構作業,請將 --xcode_config 設為 xcode_config 目標,該目標的 versions 屬性是遠端可用的 xcode_version 目標清單,且 default 屬性是其中一個 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