向后兼容性
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
<ph type="x-smartling-placeholder">
</ph>
报告问题open_in_new
查看来源open_in_new
敬上
每晚
·
7.3。
·
7.2 条
·
7.1敬上
·
7.0。
·
6.5
本页介绍了如何处理向后兼容性、
包括从一个版本迁移到另一个版本,以及如何
不兼容的更改。
Bazel 在不断发展作为 LTS 主要的一部分发布的次要版本
version 完全向后兼容。新的主要 LTS
版本可能包含不兼容的变更,这些变更需要执行一些迁移工作。
有关 Bazel 发布模型的详情,请查看版本
模型页面。
摘要
- 建议使用
--incompatible_*
标志进行重大更改。
- 对于每个
--incompatible_*
标志,GitHub 问题都会说明
旨在提供一个迁移配方。
- 建议将不兼容的标志向后移植到最新 LTS
发布,而不启用该标志。
- 受
--experimental_*
标志保护的 API 和行为可能会随时发生变化
。
- 切勿使用
--experimental_*
或 --incompatible_*
运行正式版 build
标志。
如何遵守此政策
什么是稳定版功能?
通常,没有 --experimental_...
标志的 API 或行为被视为
运行稳定且受支持的功能
其中包括:
- Starlark 语言和 API
- 与 Bazel 捆绑的规则
- Bazel API,例如 Remote Execution API 或 Build Event Protocol
- 标志及其语义
不兼容的更改和迁移配方
对于新版本中每个不兼容的更改,Bazel 团队的目标是提供一个
迁移配方,可帮助您更新代码(BUILD
和 .bzl
文件,
以及脚本中使用的任何 Bazel、Bazel API 等)。
不兼容的更改应具有关联的 --incompatible_*
标志和
相应的 GitHub 问题。
建议将不兼容的标志和相关更改反向移植到
最新 LTS 版本,而不默认启用该标志。这样,用户
在下一个 LTS 版本推出之前进行迁移以解决不兼容的更改
可用。
传达不兼容的更改
有关不兼容更改的信息主要来源为 GitHub 问题
标有“不兼容更改”
标签。
对于每项不兼容的更改,问题都会指定以下内容:
- 控制不兼容更改的标志的名称
- 对功能更改的说明
- 迁移配方
当不兼容的更改已准备好使用 HEAD 中的 Bazel 进行迁移时
(因此,对于下一个 Bazel 滚动版本而言),则应将其标记为
migration-ready
标签。在以下情况下,系统会关闭不兼容的更改问题:
不兼容标记在 HEAD 处翻转。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-08-13。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"没有我需要的信息"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"太复杂/步骤太多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"内容需要更新"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻译问题"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/代码问题"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"易于理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"解决了我的问题"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{"lastModified": "\u6700\u540e\u66f4\u65b0\u65f6\u95f4 (UTC)\uff1a2024-08-13\u3002"}
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2024-08-13。"],[],[]]