We are delighted to announce the 0.3.0 release of Bazel. This milestone is marked by support for IDE integration but also major features such as remote caching of build artifacts and experimental Windows support.
Improvements from our roadmap
In this release, we made it possible to generate information for IDEs from Bazel build files using Skylark aspects.
Simultaneous with Bazel 0.3 release, we are announcing the availability of two projects integrating Bazel with different IDEs:
- Tulsi is an Xcode plugin for Bazel. This is the same plugin that teams inside Google use for developing iOS applications.
- e4b is an experimental Eclipse plugin for Bazel. It was made to illustrate the use of Skylark aspects for IDE integration. This is an experimental plugin but we welcome any contributions to it.
Bazel can now bootstrap on Windows without admin privilege and can use the Microsoft Visual C++ toolchain. Windows support is still highly experimental and we have identified several issues and their solutions. We are dedicated to a good native experience on Windows.
Remote caching of distributed artifacts
Alpha Lam has contributed experimental support for distributed caching and execution. This is an ongoing area of development and several engineers from Google are working with Alpha to enhance that support.
Skylark remote repositories
Remote repository rules can now be created using Skylark. This can be used to support your custom protocols, interfacing with new packaging systems or even do auto-configuration to use a toolchain on your local disk. We use it especially to have a better out-of-the-box experience with C++ toolchains.
Other major changes since 0.2.0
- We just open-sourced our BUILD file formatter, buildifier.
- We now provide a Debian APT repository for installing bazel, see the installation guide on how to use it.
- Our JUnit test runner for Java tests (
--nolegacy_bazel_java_test) is now the default.
For changes since 0.2.3 (the minor version before 0.3.0), see the release notes for changes.
Looking ahead to 0.4.0:
- The last blockers for
--strategy=worker=Javacwill be resolved, making Java builds faster.
- Yue has made great progress in making Ulf's prototype of sandboxing for OS X real.
A big thank you to our community for your continued support. Particular shout-outs to the following contributors:
- Justine Tunney - for developing and maintaining the Closure JS rules of Bazel.
- Alpha Lam - for implementing remote caching/execution and following up on these features.
- David Chen - for going above and beyond, far more than a standard 20% contribution: improving our documentation, creating the Skylark documentation generator, fixing bugs and contributing features in Bazel and helping out TensorFlow with their use of Bazel.
Thank you all, keep the discussion and bug reports coming!