Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
awesome-bazel
A curated list of Bazel rules, tooling and resources.
https://github.com/jin/awesome-bazel
Last synced: 3 days ago
JSON representation
-
Tooling
-
General
- graknlabs/bazel-distribution - Assemble and deploy software distributions to common platforms, e.g. APT, Brew, GitHub, Maven, NPM, PIP, RPM, etc.
- bazelbuild/bazel-watcher - Automatically run Bazel commands when source files change
- nadirizr/dazel - Run Bazel inside a Docker container via a seamless proxy
- spotify/bazel-tools - Spotify's production tools for dealing with very large Bazel-managed repositories.
- atlassian/bazel-tools - Atlassian's reusable bits for Bazel
- gerrit/bazlets - Gerrit's re-usable building blocks for Bazel build tool
- heroku-buildpack-bazel - Heroku buildpack for Bazel
- hchauvin/bazel-coverage-report - A multi-language coverage report generator for Bazel
- acqio/bazel-arcanist - Integration with Arcanist with `arc test` and `arc lint`
- Asana/bazeltsc - TypeScript compiler that knows how to run as a Bazel persistent worker
- bazelbuild/sandboxfs - A virtual file system for sandboxing
- JetBrains/teamcity-bazel-plugin - TeamCity plugin for Bazel ([blogpost](https://blog.jetbrains.com/teamcity/2018/11/bazel-plugin-for-teamcity/))
- philwo/bazelisk - A user-friendly launcher for Bazel
- bzl-io/bzl - a wrapper around the bazel build tool to extend its functionality
- bazelbuild/bazel-integration-testing - Framework for integration tests that call Bazel
- bazel-diff - Bazel Target Diffing between two revisions in Git, allowing for Test Target Selection and Selective Building
- renovate - Automate WORKSPACE dependencies updates
- bazel-super-formatter - Hermetic aggregation formatter to format code in most languages
- Bazel Steward - Automate external dependency updates (Rules, Maven, Bazel itself)
- stackb/bazel-aquery-differ - View differences between two different aquery invocations.
- Bazel Code Search - Browse Bazel's codebase with cross references.
- graknlabs/bazel-distribution - Assemble and deploy software distributions to common platforms, e.g. APT, Brew, GitHub, Maven, NPM, PIP, RPM, etc.
- Aspect CLI - a wrapper around Bazel that allows interactivity and plugin extensions
-
Toolchains
- bazelbuilds/bazel-toolchains - Bazel toolchain configurations to enable Google Cloud Remote Build Execution via Docker containers
- vsco/bazel-toolchains - A collection of Bazel C++ build infrastructure based on Chromium's LLVM toolchain
- grailbio/bazel-toolchain - LLVM toolchain for bazel
- bazelembedded/bazel-embedded - Set of bazel toolchains and tools, for compiling and uploading to embedded targets
- hexdae/bazel-arm-none-eabi - embedded ARM toolchain
- hexdae/toolchains_riscv_gnu - RISC-V toolchain
- f0rmiga/gcc-toolchain - A fully-hermetic Bazel GCC toolchain for Linux
- hexdae/bazel-arm-none-eabi - embedded ARM toolchain
- grailbio/bazel-toolchain - LLVM toolchain for bazel
-
Starlark
- Starlark in Go
- Starlark in Rust
- Stardoc - Starlark documentation generator
- Skylib - Common useful functions for writing custom build rules with Starlark
- aspect_bazel_lib - More common useful functions for writing custom build rules with Starlark
- Bazel Common Libraries - **Java-specific** Common functionality for Google's open-source libraries that are built with Bazel.
- Stardbg - A standalone debugger for Starlark
- Starlet - Go wrapper for [Starlark in Go](https://github.com/google/starlark-go) that simplifies script execution, offers data conversion, and useful Starlark libraries and extensions.
- Official documentation
- Sphinx-Bazel - [Sphinx](http://www.sphinx-doc.org/en/master/) extension to read Bazel files to generate documentation ([GitHub](https://github.com/useblocks/sphinx-bazel))
- Language description
-
Remote caching and execution
- bazel-remote - A simple remote cache for Bazel that supports HTTP and gRPC, with optional proxy backends for S3/GCS/HTTP.
- buildbuddy-io/buildbuddy - Cloud or self-hosted remote caching and execution service written in Go, with Web UI for viewing and debugging build logs
- 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.
- EngFlow - Cloud or self-hosted [remote caching and execution](https://www.engflow.com/product/remoteExecution), with build analytics UI for diagnosing and fixing performance issues, flaky tests, and build failures.
- Buildbarn - Self-hosted remote caching and execution service written in Go
-
Project generators
- Lavender - Generate Visual Studio projects that uses Bazel for the actual building
- bazel-to-msbuild - Generate Visual Studio solution and projects from bazel workspace, command line tool build by Java.
- Jadep: Java Automated Dependencies - Generate BUILD files automatically for an existing Java project with class dependency analysis.
- BUILD File Generator - Similar tool for existing Java projects.
- Gazelle - BUILD file generator with extensions for many languages. See the list of available plugins in the project README: <https://github.com/bazelbuild/bazel-gazelle#supported-languages>
- Pazel - Generate Bazel BUILD files for Python
- Tulsi for Xcode - A project generator for Xcode projects
- create-bazel-workspace - Generate a new multi-language Bazel workspace with minimal configuration
- llvmbzlgen - Tools for generating Bazel BUILD targets from LLVM CMakeLists
- blakefiler.py - Generate a Makefile and tarball-able distribution using `bazel query`
- @bazel/create - Project generator for NodeJS projects
-
Editors
- Bazel Eclipse Feature (BEF) - Fork of the abandoned [Google Bazel Eclipse plugin](https://github.com/bazelbuild/eclipse)
- B2Eclipse - Bazel Eclipse plugin based on [Eclipse JDT LS](https://github.com/eclipse/eclipse.jdt.ls)
- Vim plugin
- codesuki/bazel-mode
- brown/bazel-mode
- stackb/bazel-stack-vscode - function and bazel rule documentation. [VSCode Marketplace](https://marketplace.visualstudio.com/items?itemName=StackBuild.bazel-stack-vscode).
- stackb/bazel-stack-vscode-cc - stack-vscode-cc).
- VSCode Bazel Java extension - Proof-of-concept (POC) of a Bazel Java development extension for VS Code
- rules_xcodeproj - Generates Xcode projects for your workspace that builds with Bazel
- hedronvision/bazel-compile-commands-extractor - compilation for other platforms.
- PyCharm
- sconover/rules_intellij_generate - Plugin-less Bazel/IntelliJ integration
- georgewfraser/java-language-server - Java Language Server (LSP) with support for Bazel-built projects
- IntelliJ plugin (compatible with Android Studio and CLion)
-
BUILD file tools
-
Migration
- bazelbuild/migration-tooling - Migrate an existing Maven project to Bazel.
- johnynek/bazel-deps - Generate bazel dependencies transitively for Maven artifacts, with scala support.
- rules_maven - Rules to define Maven dependencies
- bazelize-maven-plugin - Maven plugin for migration from Maven to Bazel
- bazelbuild/gmaven_rules - Transitive WORKSPACE rules for Google's Maven repository
- stripe/sbt-bazel - Easily convert SBT projects to Bazel workspaces
- wix-incubator/exodus - Easily migrate your JVM code from Maven to Bazel
-
<a name="misc-tooling"></a>Misc
- salesforce/bazel-maven-proxy - A local proxy to access Maven resources behind secure repositories or from the local repo
- salesforce/bazel-maven-proxy - A local proxy to access Maven resources behind secure repositories or from the local repo
-
-
Resources
-
Designs
- bazelbuild/proposals - Index of all design documents and proposals for Bazel.
- Bazel's design process
-
Tutorials
- Real-world Bazel - BUILD files collected from public GitHub projects for reference and learning purposes.
- Bazel Lesson 1 - lesson-2) - Gradually build a multi-language Bazel project.
- Bazel Mystery - Gamified workspace to learn about Bazel.
- Java
- C++
- Android
- iOS
- c++ toolchains
- Building Android Apps with Bazel
- Aspects: the fan-fic of build rules
- Bazel and Bazel rules tutorials from Jay Conrod
- Migrating to Bazel Part 1
- Migrating to Bazel Part 2
- Binary rule
- Library rule, depsets, providers
- Data and runfiles
- Execution
- Repository rules
- Platforms and toolchains
- WORKSPACE files
-
Projects
- bazelment/trunk
- tensorflow/tensorflow
- abseil/abseil-cpp - OSS collection of C++ code (compliant to C++11) designed to augment the C++ standard library.
- google/subpar - Subpar is a utility for creating self-contained python executables. It is designed to work well with Bazel.
- google/startup-os - Working examples of Google's Open Source tools and Cloud.
- lucperkins/colossus - An example microservice architecture for Kubernetes using Bazel, Go, Java, Docker, Kubernetes, Minikube, Gazelle, gRPC, Prometheus, Grafana, and more.
- squzy/squzy - is a high-performance open-source monitoring system written in Golang with Bazel. Using Bazel for testing, building and dockerize.
-
Demos
- kastiglione/bazel-xcode-demo-swift-driver - driver](https://github.com/apple/swift-driver).
- nickdecooman/bazel-rust-docker-example
- kriscfoster/multi-language-bazel-monorepo
- ekhabarov/bazel-k8s-envoy
-
Articles
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- Build mobile apps with Bazel. Part 2: iOS - Francois Stephany
- Build mobile apps with Bazel. Part 1: Android - Francois Stephany
- Nix + Bazel = fully reproducible, incremental builds
- Production Code Splitting With Bazel - Greg Magolan (Google)
- Build large polyglot projects with Bazel... now with Haskell support
- Managing a Go monorepo with Bazel - Filip Nikolovski (InPlayer)
- How to Create a Persistent Worker for Bazel - Mike Morearty (Asana)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- Angular Bazel Build With Dev Server - Torgeir "Tor" Helgevold
- Bazel Conference 2017 - Justin Poehnelt
- What Angular is doing with Bazel and Closure
- Building Docker Images Without Docker
- Bazel Golang Hello World
- Migrating from Gradle to Bazel
- Benchmarking the Bazel build system on real-life C++
- Migrating Gypsum and CodeSwitch to Bazel - Jay Conrod (Google)
- Create Go Monorepo with Go-modules and Bazel - Iurii Panarin
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- (In Japanese) Building C++ with Bazel / C++ビルド環境としてのBazel導入試行
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
- We Switched from Maven to Bazel and Builds Got 10x Faster - Jason Lunz (Redfin)
-
Community
- #bazelbuild on Slack
- #bazelbuild on Slack
- BuildTeamWorld on Slack - A community slack for BuildFarm, BuildGrid, Bazel and general build teams.
- `#bazel` on Freenode
- Stack Overflow
- #bazelbuild on Slack
- #bazelbuild on Slack
- `#bazel` on Freenode
-
Videos
- Integration testing with Bazel w/Dropbox - Benjamin Peterson (Dropbox)
- Bazel Opportunities, Tradeoffs, and Rollout - Kyle Cordes (Oasis Digital)
- code::dive 2020: Introduction to Bazel to build C++ and Python - Xavier Bonaventura (BMW Group)
- KubeCon Europe 2019: Reproducible Development and Deployment with Bazel and Telepresence - Christian Roggia (Engel & Völkers)
- ScalaSphere 2018: Using Bazel to build Scala - Andy Scott (Stripe)
- How I love being ejected: Customizing your Angular build with Bazel - Greg Magolan (Angular team)
- SF Scala: Bazel - a Brief Overview - Ulf Adams (Google)
- Bazel for building Angular applications at Angular Lunch - Kyle Cordes
- Deep Dive of Google's Angular Build Toolchain - Alex Eagle (Google)
- Bazel Conference 2017 Opening Remarks - Helen Altshuler, John Field, Ulf Adams (Google)
- Bazel Remote Execution and Remote Caching w/ Two Sigma and Uber - Alpha Lam (Two Sigma), George Gensure (Uber)
- Building Real-time Systems with Bazel w/ SpaceX - Matt Sachtler, Patrick Conrad (SpaceX)
- Hacks and Tips for Incremental Adoption of Bazel for iOS w/ Pinterest - Rahul Malik, Brandon Kase, Jerry Marino (Pinterest)
- Front End Development with Bazel: Angular/TypeScript and Persistent Workers w/ Asana - Mike Morearty (Asana), Alex Eagle (Google)
- Scala with Bazel w/ Wix, Stripe, Databricks - Ittai Zeidman (Wix), Oscar Boykin (Stripe), Ahir Reddy (DataBricks)
- Skylark: The Bazel Extensibility Language - Laurent Le Brun (Google)
- Using Bazel for Fast, Correct Docker Deployments w/ Databricks - Miles Yucht (Databricks), Matthew Moore (Google)
- Platforms and Toolchains in Bazel - John Cater (Google)
- Building Kubernetes \[a Go binary\ - Jeff Grafton (Google)
- GothamGo 2017: A Go implementation of the Skylark Configuration Language - Alan Donovan (Google)
- Bazel: Google's Extensible, Multilingual, Scalable Build System DevTools@Scale2017 - Dmitry Lomov (Google)
- Building Go with Bazel at Golang UK Conference 2017 - Paul Bellamy
- Building Software At Google Scale - Ulf Adams, Helen Altshuler, David Stanke (Google)
- Bazel: Google's own build tool, now publicly available in Beta - Paul Johnston
- Bazel at FrOSCon - Klaus Aehlig (Google)
- Building Python with Bazel - Benjamin Peterson (Dropbox)
- Bazel at the Dart Developer Summit 2016 - Damien Martin-Guillerez (Google)
- GopherChina 2018: Bazel build //:Go - Yuan He (流利说/liulishuo.com)
- Tensorflow with Bazel — Lessons Learned - Gunhan Gulsoy (Google)
-
Documentation
-
Podcasts
- Bazel; CppCast - Lukács Berki and Julio Merino
- Bazel with Tony Aiuto; Google Cloud Podcast #153 - Tony Aiuto
- AiA 247: Bazel with Alex Eagle; Adventures in Angular - Alex Eagle (Google)
-
Books
- Beginning Bazel: Building and Testing for Java, Go, and More - P.J. McNerney; Apress, 1st ed. edition (December 24, 2019) 978-1484251935
- Core Bazel: Fast Builds For Busy People - B. Mustiata; Amazon Kindle (July 28, 2020) ASIN: B08DXBR2TF
- Getting Started with Bazel - B. Muschko; O'Reilly Media (February 2020)
-
Slides
- Building Gerrit with Bazel at Gerrit User Conference 2016 - David Ostrovsky
-
Blogs
- Kristina Chodorow's blogposts on Bazel
- Envoy as an API Gateway - Build Go microservices with Bazel.
-
<a name="misc-resources"></a>Misc
-
Programming Languages
Categories
Sub Categories
Articles
62
Videos
29
General
23
Tutorials
20
Editors
14
Project generators
11
Starlark
11
Toolchains
9
Community
8
Projects
7
Migration
7
Remote caching and execution
6
Demos
4
Books
3
Podcasts
3
Blogs
2
Designs
2
<a name="misc-tooling"></a>Misc
2
Documentation
1
Slides
1
<a name="misc-resources"></a>Misc
1
BUILD file tools
1
Keywords
bazel
48
bazel-rules
9
java
9
build
7
build-tool
6
grpc
6
golang
6
python
5
maven
4
go
4
vscode-extension
3
toolchain
3
cpp
3
vscode
3
docker
3
dependencies
3
kubernetes
3
gcc
3
skylark
3
starlark
2
c
2
ios
2
grpc-java
2
macos
2
xcode
2
rust
2
cross-platform
2
remote-caching
2
embedded
2
clang
2
arm
2
bare-metal
2
caching
1
build-tools
1
cache
1
goma
1
continous-integration
1
docker-container
1
ide
1
python-script
1
programmable
1
code-generation
1
migration-tool
1
jvm
1
deps
1
visualstudio
1
msbuild
1
visual-studio
1
Remote Execution
1
RWAPI
1