Bazel 0.25.0 has arrived with an exciting mix of new features, important bug fixes, and updated documentation.
This version of Bazel has been regression-tested against over 50 open-source projects. Want to get your open-source project on Bazel's CI to ensure that we catch any regressions or have suggestions what we should test against? Reach out to bazel-dev@googlegroups.com and we can set you up!
Incompatible changes
The following incompatible flags are now enabled by default, and will be removed in a near-term release. Before updating to Bazel 0.25, you may first check if your codebase is compatible either by running bazelisk --migrate
or by building your code with Bazel
0.24 and the following flags:
--incompatible_py3_is_default
and see #7593--incompatible_disallow_load_labels_to_cross_package_boundaries
--incompatible_remove_cpu_and_compiler_attributes_from_cc_toolchain
The following incompatible change flags have been added in this release and migration for them should begin. Check out the linked bugs to see when it is expected that the flags be turned on by default.
Android
Android NDK C++ toolchain is now configured in Starlark.
Fixed an issue where the Android resource processor did not surface errors from aapt2 compile and link actions.
Other Changes
Bazel is now ~20MiB smaller, from unbundling the Android rules' runtime dependencies.
genrules now support a
$(RULEDIR)
variable that resolves to the directory where the outputs of the rule are stored.genquery somepath output is now deterministic.
Tree artifacts are now deterministic.
The analysis cache is no longer dropped when the same --define flag is set multiple times and the last value is the same (e.g. if the current invocation was run with "--define foo=bar" and the previous one was run with "--define foo=baz --define foo=bar").
Community Updates
Talk Building Scala with Bazel by Natan Silnitsky at ScalaUA
Talk Polyglot builds with Bazel by Ulf Adams at DevOne
Talk Building Web Apps like Google with Angular, Bazel, and GCP by Danna Kelmer and Alex Eagle at Cloud Next ‘19
Trevor Wilson wrote about Adding a Dependency Based on Autotools to a Bazel Project with
rules_foreign_cc
Contributors
This release contains contributions from many people at Google, as well as Andreas Herrmann, Andrew Suffield, Andy Scott, Benjamin Peterson, Ed Baunton, George Gensure, Ian McGinnis, Ity Kaul, John Millikin, Keith Smiley, Marwan Tammam, Mike Fourie, Oscar Bonilla, perwestling, petros, Ryan Beasley, silvergasp, Stanimir Mladenov, Travis Cline, Vladimir Chebotarev.