Apple 应用和 Bazel

报告问题 查看来源 每晚 · 7.2。 · 7.1敬上 · 7.0 · 6.5 · 6.4

本页包含可帮助您使用 Bazel 构建 macOS 和 iOS 的资源 项目。此页面提供了指向相关教程、构建规则和 使用 Bazel 来构建和测试这些平台

使用 Bazel

以下资源有助于您在 macOS 和 iOS 项目中使用 Bazel:

迁移到 Bazel

如果您目前使用 Xcode 构建 macOS 和 iOS 项目,请按照相关步骤操作 开始使用 Bazel 进行构建:

Apple 应用和新规则

注意:创建新规则适用于高级构建和测试场景。 开始使用 Bazel 时,不需要具备该 ID。

以下模块、配置 fragment 和提供程序将有助于您 扩展 Bazel 的功能 请在构建 macOS 和 iOS 项目时执行以下操作:

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 属性为以下属性之一: xcode_versions

如果您使用的是动态执行,则应将 --xcode_config 设置为 xcode_config 目标,其 remote_versions 属性为 available_xcodes target 包含远程可用的 Xcode 版本,并且其 local_versions 属性是 available_xcodes target 包含本地可用的 Xcode 版本。对于local_versions, 那么您可能需要使用自动生成的 @local_config_xcode//:host_available_xcodes。默认的 Xcode 版本是 最新的共同可用版本(如果有),否则为 local_versions 目标。如果您希望使用 local_versions 默认值 默认情况下,您可以传递 --experimental_prefer_mutual_default=false