2021 年 Bazel 可配置性路线图

<ph type="x-smartling-placeholder"></ph> 报告问题 <ph type="x-smartling-placeholder"></ph> 查看来源 每晚 · 7.2 条 · 7.1敬上 · 7.0 · 6.5 · 6.4

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

联系人gregestren

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

过往路线图

目标

$ bazel build //:all 适用于所有项目和平台

  • 构建不需要命令行标志。
  • 每个目标都会自动使用正确的设置(例如 android_binary 使用正确的 NDK)。
  • 可以轻松针对多个平台构建应用。
  • 构建可以很好地扩缩,特别是在图表大小和操作缓存方面。

我们还支持 cqueryStarlark configuration、 和 select()

路线图

根据我们对问题复杂程度的最佳了解,日期为近似日期 以及开发者空闲情况2021 年,我们打算将更多精力放在减少 同时处理多个项目我们仅会为 希望准确预期。

平台

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

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

2021 年第 3 季度build 支持多次执行 平台 进行中 (#11748)

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

  • 这在 Android 平台上是被屏蔽的。我们可以通过简单的翻转旗帜来开启此功能。

暂停了多平台定位 尚未开始

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

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

  • 这是一个理想的目标,并不局限于将所有规则迁移到平台。

效率

2021实验性 Bazel 模式缓存功能 跨平台 Java 编译 进行中 (#6526)

  • 加快了多平台构建速度
  • 分配不足,因此进度缓慢