Bazel
An open-source build and test system for multi-language projects, with incremental builds and caching.
These buttons open the developer's own site, repository or store listing in a new tab. wares.gg does not host downloads.
2 more ways to get Bazel
Package managers
- Chocolatey
choco install bazel - Homebrew
brew install bazel
About Bazel
Bazel builds and tests software written in Java, C++, Go and many other languages, and targets platforms including Android and iOS. It rebuilds only what has changed, using dependency analysis, parallel execution, and local and distributed caching to keep incremental builds fast.
It handles codebases of any size, from a single repository to a large monorepo spread across a CI system. New languages and platforms are added through Bazel's own extension language, and the community shares reusable rule sets. Bazel runs on Windows, macOS and Linux.
Strengths
- Rebuilds only what changed, with local and distributed caching
- One tool for many languages and platforms
- Scales to very large monorepos
- Extensible with shared community rule sets
Limitations
- Build files and rules take time to learn
- Adds overhead that small single-language projects may not need
Details
- Pricing
- FreeFree and open source.
- License
- Open source, license not stated
- Developer
- Platforms
- Windows, macOS, Linux, Command line
- How it runs
- Downloadable app
- Account
- Not required
- Best suited for
- Teams building large multi-language codebases or monorepos
- Categories
- Developer tools
- Last verified
- Added
- Provenance
- Facts checked against the developer's own pages and store listings, 1 sources on file.
Alternatives to Bazel
Compare allSoftware that can replace Bazel for an important use case, and what changes if you switch.
CMake
The de facto standard build system generator for C and C++, producing native build files for whatever toolchain is on the machine.
CMake generates native build files for C and C++ across many platforms and IDEs, but lacks Bazel's built-in distributed caching and multi-language monorepo focus.
Gradle
An open-source build automation tool for Java, Kotlin and Android projects, with Kotlin and Groovy build scripts.
Gradle offers build caching and parallel execution with Kotlin or Groovy scripts, focused on Java, Kotlin and Android projects rather than arbitrary multi-language monorepos.
Meson
An open-source build system for C, C++, Rust and other languages focused on speed and readability.
Meson provides a readable build language with fast incremental builds for C, C++ and Rust, with a smaller ecosystem and deliberately limited logic compared with Bazel rules.
Apache Maven
A build and dependency management tool for Java projects based on a project object model.
Apache Maven offers conventional Java builds and dependency management through Maven Central, with verbose XML configuration and no Bazel-style multi-language caching.
Similar software
Related functionality, not necessarily a direct replacement.
Ninja
A small, fast build system designed to run build files generated by tools such as CMake.
Cargo
Rust's build system and package manager.
GoReleaser
A command-line release automation tool that builds, packages, signs and publishes software binaries.
Jenkins
A self-hosted open source automation server for building, testing and deploying software projects.