Google Open Sources its Internal Bazel Build Tool

by Ostatic Staff - Sep. 14, 2015

Over the years, Google has had a strong track record when it comes to open sourcing valuable tools, many of which the company uses in-house. The latest example of this is Bazel, which automates the building and testing of software, somewhat similar to how Ant or Maven work. Bazel is Google's own build tool, now publicly available in Beta.

Bazel has built-in support for building both client and server software, including client applications for both Android and iOS platforms. It also provides an extensible framework that you can use to develop your own build rules.

At Google, Bazel is used by tens of thousands of engineers to build heavy-duty, mission-critical infrastructure services as well as public web applications. But the company claims it's great for smaller projects, too. 

Skylark, Bazel's extensible rule framework, allows you to develop and share your own build rules for other languages and platforms.  Bazel examines the content of source files in your dependency graphs, not just timestamps, to determine when to rebuild. " Because incremental builds are virtually always correct, it's not necessary to run a clean build 'just in case' to ensure correctness, Google reports.

According to the company:

"Bazel is in Beta. There are still some functional limitations, but we believe that Bazel is stable enough for production use. See our Support page for information about feature status and releases. The Bazel team monitors and responds actively to bug reports from users."

"Supported build tasks include running compilers and linkers to produce executable programs and libraries, and assembling deployable packages for Android, iOS and other target environments. Bazel is similar to other tools like Make, Ant, Gradle, Buck, Pants and Maven."

"See our Installation Guide to learn how to download and install Bazel. See our Getting Started Guide to learn how to write a BUILD file and run Bazel. See our Getting Started Guide to learn how to write a BUILD file and run Bazel."

You can also find a complete FAQ on Bazel, available here.