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。