awesome-bazel

A curated list of Bazel rules, tooling and resources.

View the Project on GitHub jin/awesome-bazel

Awesome Bazel Awesome

{Fast, Correct} - Choose two

Bazel is an open-source build and test tool similar to Make, Maven, and Gradle. It uses a human-readable, high-level build language. Bazel supports projects in multiple languages and builds outputs for multiple platforms. Bazel supports large codebases across multiple repositories, and large numbers of users. (via docs)

A curated list of Bazel rules, tooling and resources.

Have something to contribute or discuss? Open a pull request or create an issue.


Contents

Rules

Language/Platform Repository/Documentation
Amazon web services (AWS)
Android
AppImage
Apple (iOS, macOS, tvOS, watchOS)
ANTLR
ARM Mbed OS
Bison
Blender
BOSH
Brotli
C++
C#
Clojure
Closure
CSS
CMake
CocoaPods
CODEOWNERS
D
Dart
Databricks
Docker Note: see the OCI containers section below
ebook (pdf, epub, mobi)
ECS
Elm
Emacs Lisp (elisp)
Emscripten
Erlang
Flex
Go
Graal
Grafana
Groovy
GWT
Haskell
Helm (Kubernetes)
Heroku
Homebrew
Hugo
Idris
ISPC
Java
JFlex
Kotlin
Kubernetes
LaTeX
LLVM toolchain
Lua
M4
Manifest of build artifacts
  • kindlyops/rules_manifest: Take a list of artifacts such as zip files for AWS Lambda, and collect them into a single directory with each file named by the content hash, along with a JSON manifest of the files and original labels.
Maven
Microsoft Azure
NativeScript
Nixpkgs
Node.js / JavaScript
OCaml
OCI Containers
OpenAPI/Swagger
Packaging (RPM/DEB)
Pandoc
PHP
Prometheus
  • 5h4d0w4rt/rules_prometheus: Bazel rules for managing Prometheus, including running server, running "promtool", unit testing rules, etc.
Protobuf
Purescript
Python
Ragel
R
ReasonML, BuckleScript
Ruby
Rust
Sass
Scala
Shell
SonarQube
Spring
Swift
Terraform
Twirl
TypeScript
Verilog
Web (HTML, CSS, JS, assets)
YAML
Zig

Tooling

General

Toolchains

Toolchains enable authors to decouple their rule logic from platform-based selection of tools.

Starlark

Starlark (formerly called Skylark) is Bazel’s domain-specific language for writing BUILD definitions and rules.

Remote caching and execution

Project generators

Tools for generating WORKSPACE and BUILD files from source code.

Editors

BUILD file tools

bazelbuild/buildtools contains:

Migration

Misc

Resources

Designs

Documentation

Tutorials

Official

Toolchains

Codelabs

Community

Projects

A list of projects built with Bazel:

Demos

Bazel demo projects:

Articles

Videos

Podcasts

Books

Slides

Blogs

Community

Misc