Baseline: fdee70e6e39b74bfd9144b1e350d2d8806386e05
Cherry picks:
+ f083e7623cd03e20ed216117c5ea8c8b4ec61948:
windows: GetOutputRoot() returns GetHomeDir()
+ fa36d2f48965b127e8fd397348d16e991135bfb6:
Automated rollback of commit
4465dae23de989f1452e93d0a88ac2a289103dd9.
+ 4abd2babcc50900afd0271bf30dc64055f34e100:
Add error message on empty public resources
+ 2c957575ff24c183d48ade4345a79ffa5bec3724:
test-setup: remove leading "./" from test name
Incompatible changes:
- Remove //tools/defaults:android_jar. Use
@bazel_tools//tools/android:android_jar instead.
- The flag --incompatible_show_all_print_messages is removed.
Messages generated by `print` statements from any package will be
displayed as
DEBUG messages.
- The --incompatible_disallow_uncalled_set_constructor flag is no
longer available, the `set` constructor` is completely removed
from Skylark.
Use `depset` instead.
- Variables PACKAGE_NAME and REPOSITORY_NAME are deprecated in
favor of
functions `package_name()` and `repository_name()`.
https://docs.bazel.build/versions/master/skylark/lib/native.html#p
ackage_name
- BUILD_TIMESTAMP now contains seconds (and not milliseconds) since
the epoch.
New features:
- Strings have a new .elems() method, that provides an iterator on
the characters of the string.
- Now you can access three functions in windows_cc_configure.bzl by:
load("@bazel_tools/tools/cpp:windows_cc_configure.bzl",
"<function_name>")
Important changes:
- CppRules: Unified action_configs for static libraries
- Remove support for blaze dump --vfs. It is no longer meaningful.
- Enable dependency checking for aar_import targets.
- internal_bootstrap_hack has been deprecated and removed.
- Properly handle tree artifacts on the link command line coming
from a cc_library dependency.
- Allow C++ features to make proto_library emit smaller C++ code
- The 'j2objc' configuration fragment is exposed to Skylark.
- Remove the default content of the global bazelrc.
- In int() function, do not auto-detect base if input starts with
'0'.
- Users can now pass --experimental_shortened_obj_file_path=true to
have a shorter object file path, the object file paths (and all
other related paths) will be constructed as following:
If there's no two or more source files with the same base name:
<bazel-bin>/<target_package_path>/_objs/<target_name>/<source_base
_name>.<extension>
otherwise:
<bazel-bin>/<target_package_path>/_objs/<target_name>/N/<source_ba
se_name>.<extension>
N = the file?s order among the source files with the same
basename, starts from 0.
- Move (c/cxx)opts from legacy_compile_flags to user_compile_flags
- CppRules: Remove optional_*_flag fields from CROSSTOOL, they are
not
used, and could be expressed using features.
- Introduce --incompatible_disable_objc_provider_resources to turn
off all resource-related fields of the Objc provider.
- Removed the statement of "What does Bazel support?" as it's
limiting/misleading. Added supported host OSes to
"multi-platform" paragraph.
- android_library AAR output now contains proguard.txt
- Bazel now displays information about remote cache hits and
execution strategies used in its UI after every build and test,
and adds a corresponding line "process stats" to BuildToolLogs in
BEP.
- Print correct build result for builds with --aspects flag.
- android_binary.manifest_merger is no longer supported.