Release 0.20.0rc4 (2018-11-26)
Baseline: 7bf7f031c332dc483257248d1c1f98ad75bbc83b
Cherry picks:
- fd52341505e725487c6bc6dfbe6b5e081aa037da: update bazel-toolchains pin to latest release Part of changes to allow bazelci to use 0.19.0 configs. RBE toolchain configs at or before 0.17.0 are not compatible with bazel 0.19.0 or above.
- 241f28d05424db2d11ee245dc856b992258505e3: Revert "Toggle --incompatible_disable_late_bound_option_defaults flag."
- f7e5aef145c33968f658eb2260e25630dc41cc67: Add cc_toolchain targets for the new entries in the default cc_toolchain_suite.
Breaking changes in 0.20
0.20 is a migration window for the following changes
Breaking changes in the next release (0.21)
Incompatible changes:
- the --experimental_no_dotd_scanning_with_modules command line argument is not supported anymore.
- The --prune_cpp_modules command line option is not supported anymore.
- the --experimental_prune_cpp_input_discovery command line option is not supported anymore.
New features:
- Added support for Android NDK r18.
Important changes:
- The 'default' parameter of attr.output and attr.output_list is removed. This is controlled by --incompatible_no_output_attr_default
- A number of platform-related Starlark APIs which were previously marked "experimental" are now disabled by default, and may be enabled via --experimental_platforms_api
- Make legacy-test-support ("legacy_test-") from android_sdk_repository neverlink. The legacy test support libraries shouldn't be built into test binaries. To make them available at runtime, developers should declare them via uses-library: https://developer.android.com/training/testing/set-up-project#andr oid-test-base
- query remote server Capabilities (per REAPI v2)
- CppRules: All cc_toolchains depended on from cc_toolchain_suite.toolchains are now analyzed when not using platforms in order to select the right cc_toolchain.
- removed obsolete --explicit_jre_deps flag.
- Incompatible flag --incompatible_disable_legacy_cpp_toolchain_skylark_api was flipped.
- Improve error messaging when unsupport proguard options are specified at the library level.
- Incompatible flag --incompatible_disable_legacy_cpp_toolchain_skylark_api was flipped.
- Incompatible flag --incompatible_disable_legacy_cpp_toolchain_skylark_api was flipped.
- The --incompatible_disable_late_bound_option_defaults flag has been flipped (#6384)
- Incompatible flag --incompatible_disable_legacy_flags_cc_toolchain_api was flipped (#6434)
- Fixed issue where ctx.resolve_command created conflicting intermediate files when resolve_command was called multiple times within the same rule invocation with a long command attribute.
- Incompatible flag --incompatible_disable_cc_configuration_make_variables was flipped (#6381)
- If the --javabase flag is unset, it Bazel locates a JDK using the JAVA_HOME environment variable and searching the PATH. If no JDK is found --javabase will be empty, and builds targeting Java will not be supported. Previously Bazel would fall back to using the embedded JDK as a --javabase, but this is no longer default behaviour. A JDK should be explicitly installed instead to enable Java development
- Bazel will now shut down when idle for 5 minutes and the system is low on RAM (linux only).
- CROSSTOOL file is now read from the package of cc_toolchain, not from the package of cc_toolchain_suite. This is not expected to break anybody since cc_toolchain_suite and cc_toolchain are commonly in the same package.
- All overrides of Starlark's ctx.new_file function are now deprecated. Try the
--incompatible_new_actions_api
flag to ensure your code is forward-compatible.
- --incompatible_disable_cc_toolchain_label_from_crosstool_proto was flipped.
- Introduce --(no)shutdown_on_low_sys_mem startup flag to toggle idle low-memory shutdown, disabled by default.
- --incompatible_disable_cc_toolchain_label_from_crosstool_proto was flipped.
- --incompatible_disable_cc_toolchain_label_from_crosstool_proto was flipped.
- CppRules: All cc_toolchains depended on from cc_toolchain_suite.toolchains are now analyzed when not using platforms in order to select the right cc_toolchain.
- The function
attr.license
is deprecated and will be removed. It can be disabled now with --incompatible_no_attr_license
.
range()
function now returns a lazy value (--incompatible_range_type
is now set by default).
- The code coverage report now includes the actual paths to header files instead of the ugly, Bazel generated, virtual includes path.
--incompatible_disallow_conflicting_providers
has been switched to true
- Add new flag
--incompatible_disable_systool_from_configration
to disable loading the systool from CppConfiguration.
- Add new flag
--incompatible_disable_sysroot_from_configuration
to disable loading the systool from CppConfiguration.
- Sorting remote Platform properties for remote execution. May affect cache keys!
- Use different server log files per Bazel server process; java.log is now a symlink to the latest log.
This release contains contributions from many people at Google, as well as a7g4 a7g4@a7g4.net, Alan alan.agius@betssongroup.com, Asaf Flescher asafflesch@gmail.com, Benjamin Peterson bp@benjamin.pe, Ed Schouten ed.schouten@prodrive-technologies.com, George Gensure ggensure@uber.com, George Kalpakas kalpakas.g@gmail.com, Greg gregestren@users.noreply.github.com, Irina Iancu iirina@users.noreply.github.com, Keith Smiley keithbsmiley@gmail.com, Loo Rong Jie loorongjie@gmail.com, Mark Zeren mzeren@vmware.com, Petros Eskinder petroseskinder@users.noreply.github.com, rachcatch rachelcatchpoole@hotmail.com, Robert Brown robert.brown@gmail.com, Robert Gay robert.gay@redfin.com, Salty Egg 2281521+zhouhao@users.noreply.github.com.
Notice: Bazel installers contain binaries licensed under the GPLv2 with Classpath exception. Those installers should always be redistributed along with the source code.
Some versions of Bazel contain a bundled version of OpenJDK. The license of the bundled OpenJDK and other open-source components can be displayed by running the command bazel license
. The vendor and version information of the bundled OpenJDK can be displayed by running the command bazel info java-runtime
. The binaries and source-code of the bundled OpenJDK can be downloaded from our mirror server.
Security: All our binaries are signed with our public key 48457EE0.
Index of files