Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Baseline: c062b1f Cherry picks: + 2834613: Include also ext jars in the bootclasspath jar. + 2579b79: Fix toolchain_java9 on --host_javabase=<jdk9> after 7eb9ea1 + faaff7f: Release notes: fix markdown + b073a18: Fix NestHost length computation Fixes bazelbuild#5987 + bf6a63d: Fixes bazelbuild#6219. Don't rethrow any remote cache failures on either download or upload, only warn. Added more tests. + c1a7b4c: Fix broken IdlClassTest on Bazel's CI. + 71926bc: Fix the Xcode version detection which got broken by the upgrade to Xcode 10.0. + 86a8217: Temporarily restore processing of workspace-wide tools/bazel.rc file. General changes - New [bazelrc file list](https://docs.bazel.build/versions/master/user-manual.html#where-are-the-bazelrc-files). If you need to keep both the old and new lists of .rc files active concurrently to support multiple versions of Bazel, you can import the old file location into the new list using `try-import`. This imports a file if it exists and silently exits if it does not. You can use this method to account for a user file that may or may not exist - [.bazelignore](https://docs.bazel.build/versions/master/user-manual.html#.bazelignore) is now fully functional. - The startup flag `--host_javabase` has been renamed to `--server_javabase` to avoid confusion with the build flag `--host_javabase`. Android - The Android resource processing pipeline now supports persistence via worker processes. Enable it with `--persistent_android_resource_processor`. We have observed a 50% increase in build speed for clean local builds and up to 150% increase in build speed for incremental local builds. C++ - In-memory package //tools/defaults has been removed (controlled by `--incompatible_disable_tools_defaults_package` flag). Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-inmemory-tools-defaults-package) and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy behavior will be removed in Bazel 0.20. - Late bound option defaults (typical example was the `--compiler` flag, when it was not specified, it’s value was computed using the CROSSTOOL) are removed (controlled by `--incompatible_disable_late_bound_option_defaults` flag). Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-late-bound-option-defaults) and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy behavior will be removed in Bazel 0.20. - Depsets are no longer accepted in `user_compile_flags` and `user_link_flags` in the C++ toolchain API (controlled by `--incompatible_disable_depset_in_cc_user_flags` flag) affects C++ users. Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disable-depsets-in-c-toolchain-api-in-user-flags) and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy behavior will be removed in Bazel 0.20. - CROSSTOOL is no longer consulted when selecting C++ toolchain (controlled by `--incompatible_disable_cc_toolchain_label_from_crosstool_proto` flag). Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disallow-using-crosstool-to-select-the-cc_toolchain-label) and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy behavior will be removed in Bazel 0.20. - You can now use [`toolchain_identifier` attribute](bazelbuild@857d466) on `cc_toolchain` to pair it with CROSSTOOL toolchain. - C++ specific Make variables are no longer passed from the `CppConfiguration`, but from the C++ toolchain (controlled by `--incompatible_disable_cc_configuration_make_variables` flag). Please see [migration instructions](https://docs.bazel.build/versions/master/skylark/backward-compatibility.html#disallow-using-c-specific-make-variables-from-the-configuration) and migrate soon, the flag will be flipped in Bazel 0.19, and the legacy behavior will be removed in Bazel 0.20. - Skylark api accessing C++ toolchain in `ctx.fragments.cpp` is removed (controlled by `--incompatible_disable_legacy_cpp_toolchain_skylark_api` flag). Please migrate soon, the flag will be flipped in Bazel 0.19, and the legacy behavior will be removed in Bazel 0.20. - cc_binary link action no longer hardcodes `-static-libgcc` for toolchains that support embedded runtimes (guarded by [`--experimental_dont_emit_static_libgcc`](https://source.bazel.build/bazel/+/2f281960b829e964526a9d292d4c3003e4d19f1c) temporarily). Proper deprecation using `--incompatible` flags will follow. Java - Future versions of Bazel will require a locally installed JDK for Java development. Previously Bazel would fall back to using the embedded `--server_javabase` if no JDK as available. Pass `--incompatible_never_use_embedded_jdk_for_javabase` to disable the legacy behaviour. - `--javacopt=` no longer affects compilations of tools that are executed during the build; use `--host_javacopt=` to change javac flags in the host configuration. Objective C - `objc_library` now supports the module_name attribute. Skylark - Adds `--incompatible_expand_directories` to automatically expand directories in skylark command lines. Design doc: https://docs.google.com/document/d/11agWFiOUiz2htBLj6swPTob5z78TrCxm8DQE4uJLOwM - Support fileset expansion in ctx.actions.args(). Controlled by `--incompatible_expand_directories`. Windows - `--windows_exe_launcher` is deprecated, this flag will be removed soon. Please make sure you are not using it. - Bazel now supports the symlink runfiles tree on Windows with `--experimental_enable_runfiles` flag. For more details, see [this doc](https://docs.google.com/document/d/1hnYmU1BmtCSJOUvvDAK745DSJQCapToJxb3THXYMrmQ). Other Changes - A new experimental option `--experimental_ui_deduplicate` has been added. It causes the UI to attempt to deduplicate messages from actions to keep the console output cleaner. - Add `--modify_execution_info`, a flag to customize action execution info. - Add ExecutionInfo to aquery output for ExecutionInfoSpecifier actions. - When computing `--instrumentation_filter`, end filter patterns with "[/:]" to match non-top-level packages exactly and treat top-level targets consistently. - Added the `bazel info server_log` command, which obtains the main Bazel server log file path. This can help debug Bazel issues. - `aapt shrink` resources now properly respect filter configurations.
- Loading branch information