Bazel has hit 1.0, four years after Google first open sourced its home-grown automated build and test tool.
Bazel aims to support multi-language, multi-platform builds and tests, with builds being “fast and correct”. Which is nice. It has its own uniform extension language Starlark.
The project team highlights three “key features” in the 1.0 release. These include semantic versioning as of 1.0. All 1.x releases will be backwards-compatible with 1.0. The project will continue with minor releases monthly, but “We will have a window of at least three months between major (breaking) releases.”
In parallel, it will now produce Long Term Support Releases, which it says will “give users confidence that the Bazel team has the capacity and the process to quickly and safely deliver fixes for critical bugs, including vulnerabilities.”
And if you’re a fan of Angular, Android, Java and C++, 1.0 promises a rash of new features, including end-to-end support for remote execution and caching, and support for standard package managers and third-party dependencies.
Other Windows related tweaks include better integration through genrule support for cmd_bash, cmd_ps, and cmd_bat attributes, while with C++, Bazel now supports ThinLTO builds on Linux for Clang versions 6.0 or above.
Bazel is used by a raft of open source projects, according to the projects GitHub page, including Kubernetes and TensorFlow, which is maybe not surprising as they too were spawned out of Google. Corporate users listed include Braintree, Databricks, Dropbox, Uber, and, er, Google.