0.2.3           0.2.3           Release 0.2.3 (2016-05-10)
        Baseline: 5a2dd7a

        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:

          - All repositories are now directly under the x.runfiles directory
            in the runfiles tree (previously, external repositories were at
            x.runfiles/main-repo/external/other-repo. This simplifies
            handling remote repository runfiles considerably, but will break
            existing references to external repository runfiles.
            Furthermore, if a Bazel project does not provide a workspace name
            in the WORKSPACE file, Bazel will now default to using __main__
            as the workspace name (instead of "", as previously). The
            repository's runfiles will appear under x.runfiles/__main__/.
          - Bazel does not embed protocol buffer-related rules anymore.
          - It is now an error for a cc rule's includes attribute to point to
            the workspace root.
          - Bazel warns if a cc rule's includes attribute points out of
            third_party.
          - Removed cc_* attributes: abi / abi_deps. Use select() instead.

        New features:

          - select({"//some:condition": None }) is now possible (this "unsets"
            the attribute).

        Important changes:

          - java_import now allows its 'jars' attribute to be empty.
          - adds crunch_png attribute to android_binary
          - Replace --java_langtools, --javabuilder_top, --singlejar_top,
            --genclass_top, and --ijar_top with
            java_toolchain.{javac,javabuilder,singlejar,genclass,ijar}
          - External repository correctness fix: adding a new file/directory
            as a child of a new_local_repository is now noticed.
          - iOS apps are signed with get-task-allow=1 unless building with -c
            opt.
          - Generate debug symbols (-g) is enabled for all dbg builds of
            objc_ rules.
          - Bazel's workspace name is now io_bazel. If you are using Bazel's
            source as an external repository, then you may want to update the
            name you're referring to it as or you'll begin seeing warnings
            about name mismatches in your code.
          - Fixes integer overflow in J2ObjC sources to be Java-compatible.
          - A FlagPolicy specified via the --invocation_policy flag will now
            match the current command if any of its commands matches any of
            the commands the current command inherits from, as opposed to
            just the current command.
          - The key for the map to cc_toolchain_suite.toolchains is now a
            string of the form "cpu|compiler" (previously, it was just "cpu").
          - Fix interaction between LIPO builds and C++ header modules.
          - Ctrl-C will now interrupt a download, instead of waiting for it to
            finish.
          - Proxy settings can now be specified in http_proxy and https_proxy
            environment variables (not just HTTP_PROXY and HTTPS_PROXY).
          - Skylark targets can now read include directories from
            ObjcProvider.
          - Expose parameterized aspects to Skylark.
          - Support alwayslink cc_library dependencies in objc binaries.
          - Import cc_library dependencies in generated Xcode project.
Updated CHANGELOG with source cherry-picks
1 file changed
tree: 5090701111672db764a664572b51978107e30035
  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: