Release 3.1.0 (2020-04-21)

Baseline: 17ebbf15bea3733c0c21e0376fb5906e391edb49

Cherry picks:

   + 71fb56b4bb669a419f473598c8722e125dbb5c9e:
     Suppress last-ditch download exceptions w/cleanup
   + fd60614c38da0db22431d91a793423904dff801f:
     In repo rules, don't warn about generator_* attributes being
     non-canonical
   + 2a372792f5cc09bd0e8389d5fc4bbfdd2f5d6e37:
     Refactor configureFeatures and prevent NPE
   + 777a6ee6ed95cae4ddb949d52b63ee8a66024f03:
     Automated rollback of commit
     0bbe38176e15d891a4e4cab2d8425e292de6cc5f.
   + 2ee53c9267eb6de8eae109950ca8f3953bf1ae66:
     Guard parseActionResultMetadata with bulk wrapper

Incompatible changes:

  - The deprecated startup options
    --experimental_oom_more_eagerly(_threshold) are removed.

Important changes:

  - Remove flag
    --incompatible_load_proto_toolchain_for_javalite_from_com_google_p
    rotobuf which has been flipped in Bazel 3.0.
  - Allow assembly file sources in cc_common.compile.
  - Set default .netrc file on Windows to %USERPROFILE%
  - A maximum 150 attributes per RuleClass is enforced
  - Increase max targets per rule class limit to 200
  - ctx.split_attr now includes attributes with Starlark split
    transitions.
  - The --max_computation_steps flag bounds the computation done by a
    BUILD file.
  - Native patch can handle file permission properly
  - Aspects may now propagate through dependencies on rule outputs by
    being defined with `apply_to_generating_rules = True`.
  - 'query --output=build' now shows where rule classes (not just
    rules) are created.
  - The flag `incompatible_bzl_disallow_load_after_statement` is
    removed.
  - ctx.split_attr now includes attributes with Starlark split
    transitions.
  - The flag `incompatible_no_output_attr_default` is removed.
  - Fix wall-time of the SpawnResult in WorkerSpawnRunner
  - Add stamp parameter for cc_common.link to enable including build
    info
  - The flag `--incompatible_restrict_named_params` is removed.
  - The flag `--incompatible_depset_union` is removed.
  - Bazel uses fewer compiler flags by default when building
    Objective-C. In
    particular, Bazel no longer sets `-O0`, `-DDEBUG=1`,
    `-fstack-protector`, `-fstack-protector-all`, or `-g` in dbg
    mode, and
    Bazel no longer sets `-Os`, `-DNDEBUG=1`, `-Wno-unused-variable`,
    `-Winit-self`, or `-Wno-extra` in opt mode. If you want to apply
    these
    flags to your project, you can reenable them in your CROSSTOOL.
  - A maximum attribute name length is 128 is enforced

This release contains contributions from many people at Google, as well as Alessandro Patti, Benjamin Peterson, Benjamin Romano, Bor Kae Hwang, Chris Heisterkamp, Cristian Hancila, Dmitri G, Douglas Parker, George Gensure, Gregor Jasny, John Millikin, Keith Smiley, Leo, Mike Fourie, Patrick Balestra, Robbert Van Ginkel, Ryota, Samuel Giddins, Ulf Adams, Ulf Adams, Vertexwahn, Xavier Bonaventura, Yannic Bonenberger.
1 file changed
tree: 4c9c747c720b3309357d511160f721e1063ac4f1
  1. .bazelci/
  2. examples/
  3. scripts/
  4. site/
  5. src/
  6. third_party/
  7. tools/
  8. .bazelrc
  9. .gitattributes
  10. .gitignore
  11. AUTHORS
  12. BUILD
  13. CHANGELOG.md
  14. CODEOWNERS
  15. combine_distfiles.py
  16. combine_distfiles_to_tar.sh
  17. compile.sh
  18. CONTRIBUTING.md
  19. CONTRIBUTORS
  20. distdir.bzl
  21. ISSUE_TEMPLATE.md
  22. LICENSE
  23. README.md
  24. WORKSPACE
README.md

Bazel

{Fast, Correct} - Choose two

Build and test software of any size, quickly and reliably.

  • Speed up your builds and tests: Bazel rebuilds only what is necessary. With advanced local and distributed caching, optimized dependency analysis and parallel execution, you get fast and incremental builds.

  • One tool, multiple languages: Build and test Java, C++, Android, iOS, Go, and a wide variety of other language platforms. Bazel runs on Windows, macOS, and Linux.

  • Scalable: Bazel helps you scale your organization, codebase, and continuous integration solution. It handles codebases of any size, in multiple repositories or a huge monorepo.

  • Extensible to your needs: Easily add support for new languages and platforms with Bazel's familiar extension language. Share and re-use language rules written by the growing Bazel community.

Getting Started

Documentation

Contributing to Bazel

See CONTRIBUTING.md

Build status