Bazel 生态系统拥有一套不断发展壮大的规则,可支持热门语言和软件包。Bazel 的强大功能很大程度上源于其定义可供他人使用的新规则的能力。
本页介绍了推荐的 Bazel 原生规则和非原生规则。
建议的规则
以下是一些推荐的规则:
- Android
 - C / C++
 - Docker/OCI
 - Go
 - Haskell
 - Java
 - JavaScript / NodeJS
 - Maven 依赖项管理
 - Objective-C
 - 软件包构建
 - Protocol Buffers
 - Python
 - Rust
 - Scala
 - Shell
 - Webtesting (Webdriver)
 
代码库 Skylib 包含在编写新规则和新宏时可能很有用的其他函数。
上述规则已通过审核,符合我们对推荐规则的要求。 如需报告问题或提出功能请求,请与相应规则集的维护人员联系。
如需查找更多 Bazel 规则,请使用搜索引擎,访问 awesomebazel.com,或在 GitHub 上进行搜索。
不适用于特定编程语言的原生规则
原生规则随 Bazel 二进制文件一起提供,始终可在 BUILD 文件中使用,无需 load 语句。
- 其他操作
 - 概要
 - 平台
 - 工作区
 
嵌入式非原生规则
Bazel 还会嵌入以 Starlark 编写的其他规则。这些数据可以从 @bazel_tools 内置的外部代码库加载。