We are delighted to announce the 0.2.0 release of Bazel. This release marks major improvements in support for external repositories, Skylark and testing, in particular how external repositories and Skylark can work together.
Skylark rules can now be loaded from a remote repository. For example, to use the Scala rules, add the following to your WORKSPACE file:
git_repository( name = "io_bazel_rules_scala", remote = "https://github.com/bazelbuild/rules_scala.git", tag = "0.0.1", ) load("@io_bazel_rules_scala//scala:scala.bzl", "scala_repositories") scala_repositories()
This will download all of the tools the rules need to build Scala programs.
Then load and use normally from your BUILD files:
load("@io_bazel_rules_scala//scala:scala.bzl", "scala_library") scala_library(...)
We will gradually move the existing rules to their own repositories, announcing changes on the mailing list.
There is now Go language support, see the documentation for details.
We also open sourced over a hundred tests and laid the foundation for open sourcing more. We will continue to open source more tests (both to increase Bazel's stability and to make contributing easier), but this marks a dramatic increase in test coverage.
--package_path
definition in .bazelrc
is no longer required, nor is the base_workspace/
directory.--nolegacy_bazel_java_test
flag (soon to be the default) to get XML output for easy integration into CI systems and easier debugging with --java_debug
.For changes since 0.1.5 (the minor version before 0.2.0), see the release notes for changes.
Looking ahead to 0.3.0:
--experimental_interleave_loading_and_analysis
flag) which improves clean build time (~30% faster loading and analysis), especially for builds using a lot of select()
expressions.A big thank you to our community for your continued support. Particular shout-outs to the following contributors:
Thank you all, keep the discussion and bug reports coming!