Bazel 样式指南和最佳实践

概览

本指南定义了 Fuchsia 平台代码库中 Bazel BUILD.bazel 和 .bzl 文件的格式、编码惯例和最佳实践。

Fuchsia 项目遵循公开的 Bazel BUILD 样式指南和 .bzl 样式指南,但有少数例外情况。 此外,Fuchsia 项目还强制执行一些建议和最佳实践。

除了介绍这些例外情况之外,本指南还从 Bazel 文档的其他部分提取建议,编纂一些最佳实践,提供与 Fuchsia 代码库特有的路径和符号相关的指导,突出显示熟悉在 Fuchsia 代码库中使用 GN 的用户的等效项和差异,并添加指导以促进 Fuchsia 代码库中的一致性和可读性。

状态

本文档正处于积极开发阶段。它代表了 Fuchsia 平台代码库中 Bazel 文件的当前常见实践和预期。它尚未全面完善,并且会不断发展。

如需了解如何提供反馈或建议 添加内容或其他更改,请参阅反馈。

Fuchsia 特有的样式和最佳实践

通用样式指南和最佳实践适用于所有 Bazel 文件。

此外,还有针对以下内容的特定指导:

自动化工具

在上传以供审核之前,请使用 fx format-code 在本地格式化代码。

随着时间的推移,此指南中可机械验证的部分将通过 SHAC 检查在 static-checks CQ 机器人上强制执行。这已经包括运行 buildifier。

建议您先运行 fx host-tool shac check 在本地运行这些检查,然后再上传以供审核。

流程

本文档归 Fuchsia Build 团队所有。

反馈

请与 Fuchsia Build 团队联系,并/或提交 bug。