Bazel 可配置性 2021 年路线图

报告问题 查看源代码

上次验证日期:2021 年 1 月 25 日更新历史记录

联系人gregestren

讨论可配置性路线图:讨论

先前的路线图

目标

$ bazel build //:all 适用于任何项目和平台。

  • build 不需要命令行标志。
  • 每个目标都会自动使用正确的设置(例如,android_binary 使用正确的 NDK)。
  • 针对多个平台轻松构建您的应用。
  • build 能够很好地扩缩,尤其是 w.r.t 图大小和操作缓存。

我们还支持 cqueryStarlark configurationselect()

路线图

日期是我们对问题复杂性和开发者可用性的了解最接近的大致日期。2021 年,我们打算一次性将精力集中在减少的项目上。为了确保准确预期,我们只会针对预计的优先事项安排 ETA。

平台

2021 年第 3 季度Android 规则使用新的平台 API 进行中 (#11749)

  • 这是 2021 年初我们的首要任务。

2021 年第 3 季度build 支持多个执行平台正在进行)(#11748)

已暂停C++ 规则使用新的 platformsfall API 进行中 (#6516)

  • 在 Android 平台上会被屏蔽。我们只需进行简单的标记翻转即可开启此功能。

已暂停多平台目标 尚未开始

  • 让目标声明它们应针对多个平台进行构建
  • 此处列出了用户请求

已暂停弃用并移除了 --cpu 及相关标志 未开始

  • 这是一个无比明确的目标,它不会将所有规则都迁移到平台。

效率

2021实验性的 Bazel 模式缓存跨平台 Java 编译#6526

  • 提高多平台构建速度
  • 未分配,因此进度慢