Bazel 生态系统有一套不断完善和发展的规则,以支持流行语言和软件包。Bazel 的诸多强大之处在于,它能够定义新规则,以供他人使用。
本页面介绍了推荐的原生规则和非原生 Bazel 规则。
建议的规则
以下是精选的推荐规则:
- Android
- C / C++
- Docker/OCI
- Go
- 哈斯凯尔
- Java
- JavaScript / NodeJS
- Maven 依赖项管理
- Objective-C
- 软件包构建
- 协议缓冲区
- Python
- Rust
- Scala
- 壳牌
- Webtesting (Webdriver)(Web 测试)
代码库 Skylib 包含可用于编写新规则和新宏的其他函数。
我们已审核上述规则,并且符合我们的推荐规则要求。如有问题和功能请求,请与相应规则集的维护者联系。
如需查找更多 Bazel 规则,请使用搜索引擎,请访问 awesomebazel.com,或在 GitHub 上进行搜索。
不适用于特定编程语言的原生规则
原生规则随 Bazel 二进制文件一起提供,它们在没有 load
语句的 BUILD 文件中始终可用。
- 额外操作
- 常规
- 平台
- 工作区
嵌入式非原生规则
Bazel 还会嵌入用 Starlark 编写的其他规则。您可以从 @bazel_tools
内置外部代码库加载这些库。