#139·Valdi

Bazel 8 客户端需要传统的兼容性标志和已淘汰的选项

作者: clholgat创建于 2026年8月5日更新于 2026年8月5日

□ 总结

一个使用 Bazel 8.3.1 的 Bzlmod 消费者目前需要几个遗留的相容性覆盖和本地补丁的依赖性元数据来构建Valdi 跨越网络/测试/Android配置. 有的旗帜压制了硬巴策尔8的不相容;有的旗帜产生贬值警告并有可能在未来巴策尔发行时成为硬失败.

这是一份匿名消费者报告,旨在作为宣布和测试支持的Bazel 8配置的总括/核对清单。

□ 环境

  • 巴泽尔 8.3.1
  • macOS arm64消费者;安卓和网络/测试目标
  • 瓦尔迪通过 Bzlmod
  • 模拟机器人SDK和NDK
  • 补丁 " 规则 " 1.9.0依赖堆

□ 兼容性覆盖当前需要的

点球

主机特有隐形NDK globs可以在macOS上被空出.

常见 -- no incompatible disallow 空 glob

补丁规则 kotlin 1. 9.0 图仍然使用遗留的API/ 提供者.

共通- 不兼容 disallow struct professor syntax=false 普通 -- 无相容的 disallow ctx resolve tools

#Android/rules kotlin 迁移相容. 普通- 实验 google legacy api= true 普通 -- 实验 允许 和机器人 迁移 apis= true 常见 -- 不兼容 java common 参数=虚假


消费者还接受/使用被贬值的配置,如:

点球
构建 --android crosstool top androidndk//:toolchain 键盘
构建 -- 实验  基因  json  trace  profile

Bazel报告说,android crosstool top'被贬损为Android平台,而experental generate json trace profile'已被`generate json trace profile'所取代。

消费者的本地登记处还装有“Rules kotlin”模块扩展和模拟Android SDK集成的相容补丁。 没有相应的开关/节拍,在达到应用代码之前分析失败.

□ 预期结果

瓦尔迪应:

  • 在Bazel 8号版上使用有文件记载的Bzlmod消费者模板,没有遗留的不兼容开关,或
  • 在迁移过程中明确公布所支持的Bazel范围和维持的相容性配置。

□ 拟议清理清单

  • [ 增加一个最小的外部消费者CI固定目标,而不仅仅是存储器内的目标.
  • [ ]在macOS和Linux上进行Bazel 8演习,进行Valdi测试,导出网页包,以及Android应用分析/构建.
  • [ 替换或更新已补丁的 “ rules kotlin” API, 以便删除结构提供者和 ctx.resolve tools” 兼容性开关。
  • [ 使依赖主机的NDK文件选择明确(选择'、寄存器生成、或有意的允许-空'),而不是全球允许空格。
  • [ ]完成Android-平台/工具链迁移,并去除 “android crosstool top” 。
  • [ 将可追踪选项重命名为其支持的非实验性拼写.
  • [ 在 CI 中逐一删除每个相容性标记, 因此回归无法默默地添加回 。
  • [ 支持的文档 . . . . . . .