Much of Bazel’s strength comes from the ability to define new rules which can be used by others. There is a growing and evolving set of rules to support popular languages and packages.
Contact the respective rule set’s maintainers regarding issues and feature requests. To find more Bazel rules, use a search engine or look on GitHub.
Here is a selection of recommended rules:
- C / C++
- Maven dependency management
- Objective C
- Package building and fetching rules
- Protocol Buffers
- Webtesting (Webdriver)
The repository Skylib contains additional functions that can be useful when writing new rules and new macros.
Native rules that do not apply to a specific programming language
Native rules are shipped with the Bazel binary, they are always available in
BUILD files without a
- Extra actions
Embedded non-native rules
Bazel also embeds additional rules written in Starlark. Those can be loaded from
@bazel_tools built-in external repository.