+ 082d58de852ebaa640bcf13cf419cbb94eec2b26:
Transform roots along with paths during output deletion.
+ e8835c1c221d76a2d5532d18083eaa04401619b3:
AttributeContainer.Large now handles more than 127 attributes.
+ e1e87349335ac59f9b3df47cee8b999faeaa6d11:
Add an env attribute to all test and binary rule classes
+ a87d7ed2411d5382bac58a20b79e09c464ad13b9:
Take no action to prefetch empty artifacts.
+ 3e969ff24a6a0e03139b9f288c88451a7dfa97cd:
Fix a couple of bugs with Incompatible Target Skipping
New features:
- Starlark-defined flags can now be shorthanded using --flag_alias.
Important changes:
- Add --starlark:file option. This adds a capability to the
(cquery)[
https://docs.bazel.build/versions/master/cquery.html]
feature in `--output=starlark` mode so that the expression to
format output may
be specified in a file.
- Error messages emitted when an action fails are reworked to be
more informative about the failing action. Some tooling may have
to be updated as a result.
- Querying with output=location now allows the relative_locations
flag to properly display relative locations instead of the full
path. Fixes
https://github.com/bazelbuild/bazel/issues/3497.
- --flag_alias can now be used without
--experimental_enable_flag_alias
- Remove no-op `--deep_execroot` flag
- The BEP uses `AbortReason.OUT_OF_MEMORY` for abort events when
the build tool is crashing due to OOM.
- Added flag `incompatible_display_source_file_location` for `blaze
query location=output` to print the location of line 1 of the
actual source files instead of the source file targets. Provides
a solution to
https://github.com/bazelbuild/bazel/issues/8900.
- The Starlark json module is now available.
Use json.encode(x) to encode a Starlark value as JSON.
struct.to_json(x) is deprecated and will be disabled by
the --incompatible_struct_has_no_methods flag.
- The flag `--incompatible_objc_compile_info_migration` is enabled
by default. See #10854.
- The flag `--incompatible_objc_provider_remove_compile_info` is
enabled by default. See #11359.
- Add `relative_ast_path` feature for darwin builds to relativize
swiftmodule paths for debugging
- Use proto.encode_text(x) to encode a Starlark value as textproto.
struct.to_proto() is deprecated and will be disabled by
the --incompatible_struct_has_no_methods flag.
Both functions now reject list/dict fields that contain list/dict
elements.
- Add --starlark:file option. This adds a capability to the
(cquery)[
https://docs.bazel.build/versions/master/cquery.html]
feature in `--output=starlark` mode so that the expression to
format output may be specified in a file.
See [Configured Query Starlark
Output](//
docs.google.com/document/d/1kL6Tdmp6uLBa9lq_DbUSjIC87glO zKIyPoBeF95Rs4c/edit)
- Flipped --incompatble_proto_output_v2 for aquery.
- The --incompatible_load_java_rules_from_bzl flag is now a no-op.
- The --incompatible_load_proto_rules_from_bzl flag is now a no-op.
- Flipped --incompatible_force_strict_header_check_from_starlark
- --incompatible_string_replace_count is flipped and removed
(#11244)
- Bazel skips incompatible targets based on target platform
and `target_compatible_with` contents. See
https://docs.bazel.build/versions/master/platforms.html for more
details.
- Bazel returns exit code 36 (rather than 1) if it fails to start a
subprocess in a local sandbox due to environmental issues, for
example, if the argument list is too long.
- //tools/build_defs/pkg:pkg_rpm is no longer built in to Bazel.
See
https://github.com/bazelbuild/bazel/issues/11218 for
instructions
on how to migrate to the replacement.
- Javac now supports multiplex workers.
- The `--default_ios_provisioning_profile` flag has been removed
(it was a no-op).
- Add support for using AndroidX dependencies in
data-binding-enabled targets.
- Fix data-binding generation for android_local_test.
- Enable debug_prefix_map_pwd_is_dot feature by default on macOS,
this passes `-fdebug-prefix-map=$PWD=.` for every compile to
remove absolute paths from debug info.
- --incompatible_run_shell_command_string is enabled by default
(#5903)
- py_binary now tolerates package paths that contain hyphens ('-').
Note that such paths might not be importable from within Python
code.
- C++ Starlark API requires linker_inputs wrapping library_to_link.
#10860
- Toolchain rule is extended with target_settings attribute.
- --incompatible_restrict_string_escapes=true is now the default.
Unnecessary backslashes such as "\." in string literals are now
an error, instead of being silently treated as "\\.".
To fix the error while preserving behavior, double the backlash.
However, the error is often a sign that the original code was
wrong.
- Propagate instrumented files for transitive sources of
`android_library` and `android_binary`
- --local_resources and --incompatible_remove_local_resources have
been removed. If you've been setting --local resources or
--incompatible_remove_local_resources=false, you must migrate to
using --local_ram_resources and --local_cpu_resources instead.
- Update rules_cc to commit b1c40e1de81913a3c40e5948f78719c28152486d
- --incompatible_avoid_conflict_dlls=true is now the default.
- Dynamic execution now uses the new scheduler by default.
- Dynamic execution now uses the new scheduler by default.
- The new dynamic scheduler is now the default.
This release contains contributions from many people at Google, as well as Adam Liddell, Akira Baruah, Alex Eagle, Alexander Grund, Andrew Z Allen, Benjamin Peterson, Benson Muite, Brentley Jones, Cristian Hancila, Dan Halperin, Daniel Wagner-Hall, Dmitry Ivankov, Dmitry Ivankov, Eric Cousineau, Greg Estren, Gregor Jasny, Grzegorz Lukasik, Grzegorz Lukasik, Joe Lencioni, Jonathan Perry, Jonathon Belotti, Keith Smiley, Kevin Gessner, Matt Davis, Matt Mackay, Menny Even Danan, Neeraj Gupta, Philipp Schrader, Ricardo Delfin, Ryan Beasley, Samuel Giddins, Simon Bjorklen, Simon Stewart, Stiopa Koltsov, Thi Doan, ThomasCJY, Timothy Klim, Tom de Goede, V Vn Ngha, William A Rowe Jr, Xavier Bonaventura, Yannic, Yannic Bonenberger, erenon, hollste, johnjbarton, vectoralpha.