Apple 應用程式與 Bazel

回報問題 查看來源

本頁提供多項資源,可協助您使用 Bazel 建構 macOS 和 iOS 專案。這個頁面會連結至使用 Bazel 建構及測試這些平台的教學課程、建構規則及其他專屬資訊。

使用 Bazel

下列資源可協助您在 macOS 和 iOS 專案中使用 Bazel:

遷移至 Bazel

如果您目前使用 Xcode 建構 macOS 和 iOS 專案,請按照遷移指南中的步驟,開始使用 Bazel 進行建構:

Apple 應用程式和新規則

注意:建立新規則適用於進階建構和測試情境。開始使用 Bazel 時則不需要。

下列模組、設定片段和提供者可協助您在建構 macOS 和 iOS 專案時擴充 Bazel 的功能

X 程式碼選取

如果您的建構需要 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 屬性為 available_xcodes 目標,內含本機可用的 Xcode 版本。建議您針對 local_versions 使用自動產生的 @local_config_xcode//:host_available_xcodes。預設的 Xcode 版本是最新且可用的版本 (如有),否則會成為 local_versions 目標的預設版本。如果您想使用 local_versions 預設值做為預設值,可以傳遞 --experimental_prefer_mutual_default=false