上次验证时间:2021 年 1 月 25 日(更新记录)
讨论:可配置性路线图:讨论
之前的路线图
目标
$ bazel build //:all
适用于任何项目和任何平台,只需一键即可。
- build 不需要命令行标志。
- 每个目标都会自动使用正确的设置(例如
android_binary
会使用正确的 NDK)。 - 可以轻松针对多个平台构建应用。
- build 可很好地扩缩,尤其是在图大小和操作缓存方面。
我们还支持 cquery
、Starlark
configuration
和 select()
。
路线图
根据我们对问题复杂程度和开发者空闲情况的最佳了解,日期为近似日期。2021 年,我们打算一次只专注于少数几个项目。为确保您能获得准确的预期,我们只会为正在优先处理的工作设置预计完成时间。
平台
2021 年第 3 季度Android 规则使用新的 platforms API 正在处理 (#11749)
- 这是我们在 2021 年初的首要任务。
2021 年第 3 季度build 支持多个执行平台 正在处理 (#11748)
暂停C++ 规则使用新的 platformsfall API 进行中 (#6516)
- 在 Android 平台上,此操作会被阻止。我们可以通过简单地翻转标志来启用此功能。
暂停多平台目标 未开始
- 让目标声明应针对多个平台进行构建
- 因用户请求而列在此处
暂停废弃并移除 --cpu
和相关标志
未开始
- 这是将所有规则迁移到平台后的一个理想目标。
效率
2021实验性 Bazel 模式可缓存跨平台 Java 编译 正在进行 (#6526)
- 提高了多平台 build 速度
- 分配不足,因此进度缓慢