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
.NET (C#, Nuget)
Android
Apple (iOS, macOS, tvOS, watchOS)
ANTLR
C++
Closure
CocoaPods
D
Dart
Docker
ECS
Emscripten
Go
  • Gazelle: Generate Bazel BUILD files for Go related_projects
  • update-repos: Tool in Gazelle for adding Go dependencies as go_repository to WORKSPACE
GWT
Haskell
Hugo
Java
Kotlin
Kubernetes
LaTeX
LLVM toolchain
Maven
Nixpkgs
Node.js
OCaml
OCI Containers
OpenAPI/Swagger
PHP
Protobuf
Python
R
ReasonML, BuckleScript
Ruby
Rust
Sass
Scala
Swift
Twirl
TypeScript
Web (HTML, CSS, JS, assets)

Tooling

General

Skylark

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

Resources

Designs

Tutorials

Official

Codelabs

Community

Projects

A list of projects built with Bazel:

Articles

Videos

Slides

Blogs

Community

Misc