sayrer / awesome-bazel

A curated list of Bazel rules, tooling and resources.

Home Page:https://jin.github.io/awesome-bazel

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

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

  • 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 written in Java
  • Buildbarn - Self-hosted remote caching and execution service written in Go
  • BuildGrid - Self-hosted remote caching and execution service 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.
  • Zenreach/hydroponics - Serverless CI for Bazel making use of S3 for caching.

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

Toolchains

Codelabs

Community

Projects

A list of projects built with Bazel:

Articles

Videos

Slides

Blogs

Community

Misc

About

A curated list of Bazel rules, tooling and resources.

https://jin.github.io/awesome-bazel

License:Apache License 2.0