/awesome-bazel

A curated list of Bazel rules, tooling and resources.

Apache License 2.0Apache-2.0

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
ARM Mbed OS
Bison
BOSH
C++
Closure
CMake
CocoaPods
D
Dart
Docker
ECS
Emscripten
Flex
Go
GWT
Haskell
Homebrew
Hugo
Idris
Java
Kotlin
Kubernetes
LaTeX
LLVM toolchain
M4
Maven
Maya
Nixpkgs
Node.js / JavaScript
OCaml
OCI Containers
OpenAPI/Swagger
Pandoc
PHP
Protobuf
Purescript
Python
Ragel
R
ReasonML, BuckleScript
Ruby
Rust
Sass
Scala
Swift
Twirl
TypeScript
Web (HTML, CSS, JS, assets)

Tooling

General

Starlark

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

Remote caching and execution

  • bazel-remote - A remote cache for Bazel using HTTP/1.1 with --remote_rest_cache
  • bazelbuild/bazel-buildfarm - Self-hosted remote caching and execution service
  • EdSchouten/bazel-buildbarn - Alternative buildfarm implementation written in Go
  • BuildGrid - Alternative buildfarm implementation written in Python
  • Asana/bazels3cache - Small web server for a Bazel cache that proxies to S3, allowing Bazel to work offline and has async uploads to make Bazel faster.

Project generators

Tools for generating WORKSPACE and BUILD files from source code.

Editors

BUILD file tools

bazelbuild/buildtools contains:

  • Buildifier - Prettifier for BUILD files
  • Buildozer - Manipulate BUILD file contents from the command line
  • unused_deps - Find unneeded dependencies in BUILD files

Migration

Resources

Designs

Tutorials

Official

Codelabs

Community

Projects

A list of projects built with Bazel:

Articles

Videos

Slides

Blogs

Community

Misc