.bzl 样式指南

本页介绍了 Starlark 的基本样式指南,还包含有关宏和规则的信息。

Starlark 是一种 用于定义软件构建方式的语言,因此它既是 编程语言,也是配置语言。

您将使用 Starlark 编写 BUILD 文件、宏和构建规则。宏和规则本质上是元语言,它们定义了 BUILD 文件的编写方式。 BUILD 文件旨在简单且重复。

所有软件的读取频率都高于写入频率。对于 Starlark 来说尤其如此,因为工程师会读取 BUILD 文件,以了解其目标依赖项和构建详细信息。这种读取通常会发生在匆忙之间,或者与其他任务并行进行。因此,简单性和可读性非常重要,这样用户才能快速解析和理解 BUILD 文件。

当用户打开 BUILD 文件时,他们希望快速了解文件中的目标列表;或查看该 C++ 库的来源列表;或从该 Java 二进制文件中移除依赖项。每次添加一层抽象,都会让用户更难完成这些任务。

许多不同的工具也会分析和更新 BUILD 文件。如果 BUILD 文件使用抽象,工具可能无法对其进行修改。保持 BUILD 文件简单将有助于您获得更好的工具。随着代码库的增长,为了更新库或进行清理,跨多个 BUILD 文件进行更改的情况会越来越频繁。