0.2.1           0.2.1           Release 0.2.1 (2016-03-21)

        Baseline: 19b5675

        Extra cherry picks:
           + 068a661: GPLv2 + Classpath exception compliance: ship the source code of jformatstring
           + a18add1: Adds the source of the checker framework
           + f6c24de: GPLv2 + Classpath exception compliance: ship the source of checker_framework
           + c95cb5f: Add source for Javac
           + 4017d28: Fix fallout of incorrectly merged review (3921)

        Incompatible changes:

          - Skylark rules that are available from their own repository will
            now issue a warning when accessed through @bazel_tools.
          - Set --legacy_bazel_java_test to off by default. java_test will
            now have a slightly different behaviour, correctly emitting XML
            file but, as a downside, it needs correct declaration of the
            test suite (see https://github.com/bazelbuild/bazel/issues/1017).
          - Labels in .bzl files in remote repositories will be resolved
            relative to their repository (instead of the repository the
            Skylark rule is used in).
          - Renamed proto_java_library to java_proto_library.  The former
            is now deprecated and will print out a warning when used.
          - android_sdk now compiles android_jack on the fly from
            android_jar, which means android_jar must be a jar and
            android_jack is now deprecated. The Jack tools (jack, jill,
            resource_extractor) must be specified.
          - Any project that depended on the objc_options rule will be
            broken. Can be fixed by adding attrs (infoplists,copts) directly
            to rules depending on the options.
          - .aidl files correctly require import statements for types
            defined in the same package and the same android_library.

        New features:

          - Experimental Windows support is available.
          - Experimental support for writing remote repository rules in
            Skylark is available.
          - iOS ipa_post_processor attribute allows for user-defined IPA
            edits.
          - Adds a to_json method to Skylark structs, providing conversion to
            JSON format.
          - Native python rule can depend on skylark rule as long as skylark
            rule provides 'py' provider.
          - When using both --verbose_failures and --sandbox_debug, Bazel
            prints instructions how to spawn a debugging shell inside the
            sandbox.
          - add flag --sandbox_add_path, which takes a list of additional
            paths as argument and mount these paths to sandbox.

        Important changes:

          - @androidsdk//:org_apache_http_legacy added for the legacy Apache
            classes for android sdk version 23 and above.
          - Genrules correctly work when used with bazel run.
          - When namespace-sandbox is run with the -D (debug) flag and
            inside a terminal, it spawns a shell inside the sandbox to aid in
            debugging when the sandboxed command fails.
          - Added --artifact to workspace generator for generating workspace
            and build file rules from artifact coodrinates.
          - Specifying --experimental_android_resource_shrinking on the
            command line will enable a resource shrinking pass on
            android_binary targets that already use Proguard.
          - J2ObjC updated to 1.0.1 release.
          - Added "root_symlinks" and "symlinks" parameters to Skylark
            runfiles() method.
          - You can no longer use objc_binary targets for the xctest_app
            attribute of an ios_test rule.
          - Enable overriding jsonnet binaries and stdlib for Jsonnet rules.
          - mount target of /etc/resolv.conf if it is a symlink.
          - Tests that failed to build because execution was halted no longer
            print their status.
          - Bazel warns if a cc rule's includes attribute contains up-level
            references that escape its package.
          - Add repository_ctx.download and repository_ctx.download_and_extract
            function.
Updated CHANGELOG with source cherry-picks
1 file changed
tree: ebb2548ea5eca97f314427ca5d09555c6b62850e
  1. examples/
  2. scripts/
  3. site/
  4. src/
  5. third_party/
  6. tools/
  7. .gitattributes
  8. .gitignore
  9. AUTHORS
  10. BUILD
  11. CHANGELOG.md
  12. compile.sh
  13. CONTRIBUTING.md
  14. CONTRIBUTORS
  15. LICENSE.txt
  16. README.md
  17. WORKSPACE
README.md

Bazel (Beta)

{Fast, Correct} - Choose two

Bazel is a build tool that builds code quickly and reliably. It is used to build the majority of Google‘s software, and thus it has been designed to handle build problems present in Google’s development environment, including:

  • A massive, shared code repository, in which all software is built from source. Bazel has been built for speed, using both caching and parallelism to achieve this. Bazel is critical to Google's ability to continue to scale its software development practices as the company grows.

  • An emphasis on automated testing and releases. Bazel has been built for correctness and reproducibility, meaning that a build performed on a continuous build machine or in a release pipeline will generate bitwise-identical outputs to those generated on a developer's machine.

  • Language and platform diversity. Bazel's architecture is general enough to support many different programming languages within Google, and can be used to build both client and server software targeting multiple architectures from the same underlying codebase.

Find more background about Bazel in our FAQ.

Getting Started

About the Bazel project: