
Автор: Brian Moakley, Marcus Eagan
Издательство: O’Reilly Media, Inc.
Год: 2025-07-25
Язык: английский
Формат: pdf, epub
Размер: 12.4 MB
Since its release in 2015, Google's Bazel has become a go-to open source build system for teams tackling large-scale, multilanguage, multiplatform projects. Extending Bazel to Its Full Potential shows you how to unlock Bazel's advanced capabilities—especially in today's demanding AI, robotics, and hardware environments. Building on Getting Started with Bazel, this updated edition explores new workflows enabled by cloud services, simulation testing, and tools like Nativelink.
Bazel, first released in 2015, is the open source version of Google’s Blaze build system. Bazel is a free and open-source software tool used for the automation of building and testing software. Similar to build tools like Make, Apache Ant, and Apache Maven, Bazel builds software applications from source code using rules.
Bazel is known as an artifact-based build system. In an artifact-based build system, developers define a build file that includes the various “artifacts,” such as the dependencies and resources required for the build. Once they are defined, Bazel analyzes the build and generates all the tasks needed to construct a build. Bazel will either generate artifacts or fetch artifacts from a shared cache or online repositories.
The central build file is declarative. When defining a build, a developer provides the inputs, and Bazel manages the process of building all the various dependencies. By analyzing the dependency graph, Bazel is aware of the available resources. This means Bazel can fully compile resources in parallel as needed. It can also include compiled artifacts that haven’t changed from previous builds.
Bazel is a deterministic build system. Simply put, when a build file defines the same inputs, Bazel will produce the same output. This ensures each resulting build is “correct” (i.e., deterministic). Two developers on two different machines with two different configurations will be able to produce an identical build.
Contents:
Скачать Extending Bazel to Its Full Potential
