Bazel Build System
github.com
1
Leaving SiteNav
External Link Disclaimer
You are about to visit github.com. This website is not operated by us. We are not responsible for its content or privacy practices.
About this website
Bazel is a free and open-source build and test tool that uses a human-readable, high-level build language to describe builds for software projects of any size. Originally developed internally at Google (based on the Blaze build system, created around 2005 to handle the company's massive monorepo with billions of lines of code), Bazel was open-sourced in March 2015. Key features: correctness: uses content hashing to track dependencies. Only changed inputs are rebuilt, guaranteeing correct incremental builds by tracking exact input-to-output relationships. Build language: BUILD files written in Starlark (a Python-like language) define build targets (cc_binary, java_library, py_test, genrule) and dependencies. Each package is a directory with a BUILD file. Hermetic builds: isolates builds from the host system using declared toolchains, ensuring reproducible output on any machine. Remote execution: supports distributed build execution (RBE) across worker clusters for massively parallel builds. Remote caching shares outputs centrally. Multi-language: supports C++, Java, Python, Go, Rust, TypeScript, Android, iOS, Docker, protobuf. Custom rules in Starlark for any language. Monorepo scale: designed for millions of source files. Testing: bazel test with caching, parallelism, and flaky test detection. Cross-compilation: configure toolchains for Linux, macOS, Windows, Android, iOS. Query language: bazel query and bazel cquery analyze the build graph. Java/C++. Apache-2.0.
Tags & Categories
Categories
Tags
Statistics
1
Views
0
Clicks
0
Like
0
Dislike