-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
incompatible_run_shell_command_string: Disallow "command" parameter of actions.run_shell to take a sequence #5903
Comments
The goal of ctx.actions.run_shell(
outputs = [f],
command = "touch " + f.path,
) If a user wants to run a command with an argument, e.g. "touch output" they can use ctx.actions.run(
outputs = [f],
executable = "touch",
arguments = [f.path],
) So I think we should require |
Increasing to P1, assuming we still want to do this breaking change. |
This constitutes an incompatible change guarded by flag --incompatible_run_shell_command_string. Progress toward #5903. RELNOTES: The `command` parameter of the `actions.run_shell()` function will be restricted to only accept strings (and not string sequences). This check is attached to flag `--incompatible_run_shell_command_string`. One may migrate by using the `arguments` parameter of `actions.run()` instead. See #5903 for more info. PiperOrigin-RevId: 253122136
This constitutes an incompatible change guarded by flag --incompatible_run_shell_command_string. Progress toward bazelbuild#5903. RELNOTES: The `command` parameter of the `actions.run_shell()` function will be restricted to only accept strings (and not string sequences). This check is attached to flag `--incompatible_run_shell_command_string`. One may migrate by using the `arguments` parameter of `actions.run()` instead. See bazelbuild#5903 for more info. PiperOrigin-RevId: 253122136
This constitutes an incompatible change guarded by flag --incompatible_run_shell_command_string. Progress toward bazelbuild#5903. RELNOTES: The `command` parameter of the `actions.run_shell()` function will be restricted to only accept strings (and not string sequences). This check is attached to flag `--incompatible_run_shell_command_string`. One may migrate by using the `arguments` parameter of `actions.run()` instead. See bazelbuild#5903 for more info. PiperOrigin-RevId: 253122136
Baseline: 2e374a9 Cherry picks: + 6d0b14b: rule_test: apply "tags" to all rules in the macro Incompatible changes: - Add --incompatible_enable_profile_by_default to enable the JSON profile by default. - The --incompatible_windows_style_arg_escaping flag is flipped to "true", and the "false" case unsupported. Bazel no longer accepts this flag. Important changes: - Bazel now supports hiding compiler warnings for targets that you're not explicitly building (see https://docs.bazel.build/versions/master/user-manual.html#flag--au to_output_filter). - Flag `--incompatible_restrict_escape_sequences` is added. See #8380 - The "info" command now supports the "starlark-semantics" argument, which outputs a representation of the effective Starlark semantics option values. - The `outputs` parameter of the `rule()` function is deprecated and attached to flag `--incompatible_no_rule_outputs_param`. Migrate rules to use `OutputGroupInfo` or `attr.output` instead. See #7977 for more info. - When `--incompatible_strict_action_env` is enabled, the default `PATH` now includes `/usr/local/bin`. - Turn on --experimental_build_setting_api by default for starlark build settings (see https://docs.bazel.build/versions/master/skylark/config.html#user- defined-build-settings for more info) - `@bazel_tools//tools/jdk:toolchain_java10` and `@bazel_tools//tools/jdk:toolchain_java11` are now available to enable java 10, respectively java 11 language level support. - The `command` parameter of the `actions.run_shell()` function will be restricted to only accept strings (and not string sequences). This check is attached to flag `--incompatible_run_shell_command_string`. One may migrate by using the `arguments` parameter of `actions.run()` instead. See #5903 for more info. - Incompatible change `--incompatible_use_platforms_repo_for_constraints` has been added. See #8622 for details. - Incompatible change `--incompatible_use_platforms_repo_for_constraints` has been added. See #8622 f... - Bazel's C++ autoconfiguration now understands `BAZEL_LINKLIBS` environment variable to specify system libraries that should be appended to the link command line. - paths under the execution root starting with "." or "_" will be re-linked across builds - execution_log_json_file now allows actions without outputs. - Labels aapt as deprecated for aapt_version, and heavily endorses aapt2. - Update doc links still pointing to cc_binary.features to point to common features - Incompatible change `--incompatible_use_platforms_repo_for_constraints` has been added. See #8622 for details. RELNOTES: - --incompatible_disable_nocopts flag has been added. See #8706 for details. - Fixed treatment of <dist:module /> tags in AndroidManifest.xml - Fixed asset precedence for android_binary rules with aapt2. - Bazel now officially supports running on CentOS 7. - The runtime dynamic libraries are no longer in default output group of cc_binary. - set the FDOBuildType as CSFDO for binaries built with --cs_fdo_absolute_path. - Bazel can now be bootstrapped and built on arm64 platforms without requiring any flags or patches. - Fixed treatment of AndroidManifest.xml attributes which contained XML escaping - Retire experimental blaze flag experimental_link_compile_output_separately. The same behavior is available through the feature dynamic_link_test_srcs. - --incompatible_load_java_rules_from_bzl was added to forbid loading the native java rules directly. See more on tracking issue #8746 - Turn on --experimental_build_setting_api by default for starlark build settings (see https://docs.bazel.build/versions/master/skylark/config.html#user- defined-build-settings for more info) - Attribute names are going to be restricted and must be syntactically valid identifiers. #6437 - rule_test: fix Bazel 0.27 regression ("tags" attribute was ingored, #8723 This release contains contributions from many people at Google, as well as Ben Diuguid, Benjamin Peterson, Dave Lee, Loo Rong Jie, Mark Butcher, Marwan Tammam, Pedro Alvarez.
This constitutes an incompatible change guarded by flag --incompatible_run_shell_command_string. Progress toward bazelbuild#5903. RELNOTES: The `command` parameter of the `actions.run_shell()` function will be restricted to only accept strings (and not string sequences). This check is attached to flag `--incompatible_run_shell_command_string`. One may migrate by using the `arguments` parameter of `actions.run()` instead. See bazelbuild#5903 for more info. PiperOrigin-RevId: 253122136
Baseline: 2e374a9 Cherry picks: + 6d0b14b: rule_test: apply "tags" to all rules in the macro Incompatible changes: - Add --incompatible_enable_profile_by_default to enable the JSON profile by default. - The --incompatible_windows_style_arg_escaping flag is flipped to "true", and the "false" case unsupported. Bazel no longer accepts this flag. Important changes: - Bazel now supports hiding compiler warnings for targets that you're not explicitly building (see https://docs.bazel.build/versions/master/user-manual.html#flag--au to_output_filter). - Flag `--incompatible_restrict_escape_sequences` is added. See bazelbuild#8380 - The "info" command now supports the "starlark-semantics" argument, which outputs a representation of the effective Starlark semantics option values. - The `outputs` parameter of the `rule()` function is deprecated and attached to flag `--incompatible_no_rule_outputs_param`. Migrate rules to use `OutputGroupInfo` or `attr.output` instead. See bazelbuild#7977 for more info. - When `--incompatible_strict_action_env` is enabled, the default `PATH` now includes `/usr/local/bin`. - Turn on --experimental_build_setting_api by default for starlark build settings (see https://docs.bazel.build/versions/master/skylark/config.html#user- defined-build-settings for more info) - `@bazel_tools//tools/jdk:toolchain_java10` and `@bazel_tools//tools/jdk:toolchain_java11` are now available to enable java 10, respectively java 11 language level support. - The `command` parameter of the `actions.run_shell()` function will be restricted to only accept strings (and not string sequences). This check is attached to flag `--incompatible_run_shell_command_string`. One may migrate by using the `arguments` parameter of `actions.run()` instead. See bazelbuild#5903 for more info. - Incompatible change `--incompatible_use_platforms_repo_for_constraints` has been added. See bazelbuild#8622 for details. - Incompatible change `--incompatible_use_platforms_repo_for_constraints` has been added. See bazelbuild#8622 f... - Bazel's C++ autoconfiguration now understands `BAZEL_LINKLIBS` environment variable to specify system libraries that should be appended to the link command line. - paths under the execution root starting with "." or "_" will be re-linked across builds - execution_log_json_file now allows actions without outputs. - Labels aapt as deprecated for aapt_version, and heavily endorses aapt2. - Update doc links still pointing to cc_binary.features to point to common features - Incompatible change `--incompatible_use_platforms_repo_for_constraints` has been added. See bazelbuild#8622 for details. RELNOTES: - --incompatible_disable_nocopts flag has been added. See bazelbuild#8706 for details. - Fixed treatment of <dist:module /> tags in AndroidManifest.xml - Fixed asset precedence for android_binary rules with aapt2. - Bazel now officially supports running on CentOS 7. - The runtime dynamic libraries are no longer in default output group of cc_binary. - set the FDOBuildType as CSFDO for binaries built with --cs_fdo_absolute_path. - Bazel can now be bootstrapped and built on arm64 platforms without requiring any flags or patches. - Fixed treatment of AndroidManifest.xml attributes which contained XML escaping - Retire experimental blaze flag experimental_link_compile_output_separately. The same behavior is available through the feature dynamic_link_test_srcs. - --incompatible_load_java_rules_from_bzl was added to forbid loading the native java rules directly. See more on tracking issue bazelbuild#8746 - Turn on --experimental_build_setting_api by default for starlark build settings (see https://docs.bazel.build/versions/master/skylark/config.html#user- defined-build-settings for more info) - Attribute names are going to be restricted and must be syntactically valid identifiers. bazelbuild#6437 - rule_test: fix Bazel 0.27 regression ("tags" attribute was ingored, bazelbuild#8723 This release contains contributions from many people at Google, as well as Ben Diuguid, Benjamin Peterson, Dave Lee, Loo Rong Jie, Mark Butcher, Marwan Tammam, Pedro Alvarez.
Baseline: 2e374a9 Cherry picks: + 6d0b14b: rule_test: apply "tags" to all rules in the macro Incompatible changes: - Add --incompatible_enable_profile_by_default to enable the JSON profile by default. - The --incompatible_windows_style_arg_escaping flag is flipped to "true", and the "false" case unsupported. Bazel no longer accepts this flag. Important changes: - Bazel now supports hiding compiler warnings for targets that you're not explicitly building (see https://docs.bazel.build/versions/master/user-manual.html#flag--au to_output_filter). - Flag `--incompatible_restrict_escape_sequences` is added. See #8380 - The "info" command now supports the "starlark-semantics" argument, which outputs a representation of the effective Starlark semantics option values. - The `outputs` parameter of the `rule()` function is deprecated and attached to flag `--incompatible_no_rule_outputs_param`. Migrate rules to use `OutputGroupInfo` or `attr.output` instead. See #7977 for more info. - When `--incompatible_strict_action_env` is enabled, the default `PATH` now includes `/usr/local/bin`. - Turn on --experimental_build_setting_api by default for starlark build settings (see https://docs.bazel.build/versions/master/skylark/config.html#user- defined-build-settings for more info) - `@bazel_tools//tools/jdk:toolchain_java10` and `@bazel_tools//tools/jdk:toolchain_java11` are now available to enable java 10, respectively java 11 language level support. - The `command` parameter of the `actions.run_shell()` function will be restricted to only accept strings (and not string sequences). This check is attached to flag `--incompatible_run_shell_command_string`. One may migrate by using the `arguments` parameter of `actions.run()` instead. See #5903 for more info. - Incompatible change `--incompatible_use_platforms_repo_for_constraints` has been added. See #8622 for details. - Incompatible change `--incompatible_use_platforms_repo_for_constraints` has been added. See #8622 f... - Bazel's C++ autoconfiguration now understands `BAZEL_LINKLIBS` environment variable to specify system libraries that should be appended to the link command line. - paths under the execution root starting with "." or "_" will be re-linked across builds - execution_log_json_file now allows actions without outputs. - Labels aapt as deprecated for aapt_version, and heavily endorses aapt2. - Update doc links still pointing to cc_binary.features to point to common features - Incompatible change `--incompatible_use_platforms_repo_for_constraints` has been added. See #8622 for details. RELNOTES: - --incompatible_disable_nocopts flag has been added. See #8706 for details. - Fixed treatment of <dist:module /> tags in AndroidManifest.xml - Fixed asset precedence for android_binary rules with aapt2. - Bazel now officially supports running on CentOS 7. - The runtime dynamic libraries are no longer in default output group of cc_binary. - set the FDOBuildType as CSFDO for binaries built with --cs_fdo_absolute_path. - Bazel can now be bootstrapped and built on arm64 platforms without requiring any flags or patches. - Fixed treatment of AndroidManifest.xml attributes which contained XML escaping - Retire experimental blaze flag experimental_link_compile_output_separately. The same behavior is available through the feature dynamic_link_test_srcs. - --incompatible_load_java_rules_from_bzl was added to forbid loading the native java rules directly. See more on tracking issue #8746 - Turn on --experimental_build_setting_api by default for starlark build settings (see https://docs.bazel.build/versions/master/skylark/config.html#user- defined-build-settings for more info) - Attribute names are going to be restricted and must be syntactically valid identifiers. #6437 - rule_test: fix Bazel 0.27 regression ("tags" attribute was ingored, #8723 This release contains contributions from many people at Google, as well as Ben Diuguid, Benjamin Peterson, Dave Lee, Loo Rong Jie, Mark Butcher, Marwan Tammam, Pedro Alvarez.
What's the status of this flag? Labels are missing. |
Friendly ping on the status of this flag. |
Marking it as migration-ready, so that we can get feedback and see if it breaks something. |
Any suggestion for the migration plan for users of bazel/src/main/java/com/google/devtools/build/lib/analysis/starlark/StarlarkRuleContext.java Line 982 in 0d05fcc
command here: https://github.com/bazelbuild/apple_support/blob/2583fa0bfd6909e7936da5b30e3547ba13e198dc/rules/apple_genrule.bzl#L83
|
This is required for this migration bazelbuild/bazel#5903
Here's a potential fix, but it seems pretty fragile bazelbuild/apple_support#67 |
@c-parsons @laurentlb do you have a suggestion for this use case? |
Does it work if you call |
How does that affect this since both |
See #5903 (comment) for an example |
That doesn't really work for this case where we accept arbitrary commands, unless we set the executable to |
This is required for this migration bazelbuild/bazel#5903
This is required for this migration bazelbuild/bazel#5903
I've filed #12418 to track a proper resolution/recommendation. |
This is required for this migration bazelbuild/bazel#5903
This is required for this migration bazelbuild/bazel#5903
The Bazel option `--incompatible_run_shell_command_string` is going to be flipped to true in upcoming Bazel 4.0 release per default, see: [1] for more details. Test Plan: bazel build :release [1] bazelbuild/bazel#5903 Bug: Issue 13612 Change-Id: Icc9589906198386b1e4805ceeabbb420a7ea1afb
The Bazel option `--incompatible_run_shell_command_string` is going to be flipped to true in upcoming Bazel 4.0 release per default, see: [1] for more details. Test Plan: bazel build :release [1] bazelbuild/bazel#5903 Bug: Issue 13612 Change-Id: Icc9589906198386b1e4805ceeabbb420a7ea1afb (cherry picked from commit c1f4e91)
Baseline: 37a429a Cherry picks: + a689d67: Use getRunfilesPath for run_under executable path generation. getRootRelativePath doesn't return a valid runfiles path for external source files anymore after the recent external source root change. Also, it won't work for external labels either once the --nolegacy_external_runfiles becomes default. This fixes issue #12545. + d90ec67: Fix NPE when coveragerunner is not set on the toolchain. + 8555789: Fix the classic query package-loading cutoff optimization with external workspaces. + d113d74: Update turbine + 1489f0f: Support Scala3 .tasty files + 0d2d95c: Update to java_tools javac11 release 10.5 (#12647) + a9419f3: Fix common prefix for instrumentation filter + 84fadcf: Fix builds for filegroup targets with incompatible dependencies + e43825d: Revert "Remove --incompatible_blacklisted_protos_requires_proto_info" + 082d58d: Transform roots along with paths during output deletion. + e8835c1: AttributeContainer.Large now handles more than 127 attributes. + e1e8734: Add an env attribute to all test and binary rule classes + a87d7ed: Take no action to prefetch empty artifacts. + 3e969ff: Fix a couple of bugs with Incompatible Target Skipping + e667082: Pass --host_action_env to host options hostActionEnvironment attribute + 07400c0: Add --{no,}autodetect_server_javabase. + c833660: Only treat "env" and "env_inherit" attrs specially for native rules + 6a60b30: Fix coverage support when using default_java_toolchain. (#12801) + 4158a6f: Revert JacocoCoverage target to remote_java_tools_java_import and add a new target for remore_java_tools_filegroup. (#12813) + f6d30cf: Add windows_msvc back to conditions in bazel_tools. 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 #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 #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 #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, Alexander Grund, Alex Eagle, Andrew Z Allen, Austin Schuh, Benjamin Peterson, Benson Muite, Brentley Jones, Cristian Hancila, Dan Halperin, Daniel Wagner-Hall, Dmitry Ivankov, Dmitry Ivankov, erenon, Eric Cousineau, Greg Estren, Gregor Jasny, Grzegorz Lukasik, Grzegorz Lukasik, hollste, Joe Lencioni, johnjbarton, 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, vectoralpha, V Vn Ngha, William A Rowe Jr, Xavier Bonaventura, Yannic Bonenberger, Yannic.
Baseline: 37a429a Cherry picks: + a689d67: Use getRunfilesPath for run_under executable path generation. getRootRelativePath doesn't return a valid runfiles path for external source files anymore after the recent external source root change. Also, it won't work for external labels either once the --nolegacy_external_runfiles becomes default. This fixes issue bazelbuild#12545. + d90ec67: Fix NPE when coveragerunner is not set on the toolchain. + 8555789: Fix the classic query package-loading cutoff optimization with external workspaces. + d113d74: Update turbine + 1489f0f: Support Scala3 .tasty files + 0d2d95c: Update to java_tools javac11 release 10.5 (bazelbuild#12647) + a9419f3: Fix common prefix for instrumentation filter + 84fadcf: Fix builds for filegroup targets with incompatible dependencies + e43825d: Revert "Remove --incompatible_blacklisted_protos_requires_proto_info" + 082d58d: Transform roots along with paths during output deletion. + e8835c1: AttributeContainer.Large now handles more than 127 attributes. + e1e8734: Add an env attribute to all test and binary rule classes + a87d7ed: Take no action to prefetch empty artifacts. + 3e969ff: Fix a couple of bugs with Incompatible Target Skipping + e667082: Pass --host_action_env to host options hostActionEnvironment attribute + 07400c0: Add --{no,}autodetect_server_javabase. + c833660: Only treat "env" and "env_inherit" attrs specially for native rules + 6a60b30: Fix coverage support when using default_java_toolchain. (bazelbuild#12801) + 4158a6f: Revert JacocoCoverage target to remote_java_tools_java_import and add a new target for remore_java_tools_filegroup. (bazelbuild#12813) + f6d30cf: Add windows_msvc back to conditions in bazel_tools. 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 bazelbuild#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 bazelbuild#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 bazelbuild#10854. - The flag `--incompatible_objc_provider_remove_compile_info` is enabled by default. See bazelbuild#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 (bazelbuild#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 bazelbuild#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 (bazelbuild#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. bazelbuild#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, Alexander Grund, Alex Eagle, Andrew Z Allen, Austin Schuh, Benjamin Peterson, Benson Muite, Brentley Jones, Cristian Hancila, Dan Halperin, Daniel Wagner-Hall, Dmitry Ivankov, Dmitry Ivankov, erenon, Eric Cousineau, Greg Estren, Gregor Jasny, Grzegorz Lukasik, Grzegorz Lukasik, hollste, Joe Lencioni, johnjbarton, 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, vectoralpha, V Vn Ngha, William A Rowe Jr, Xavier Bonaventura, Yannic Bonenberger, Yannic.
This constitutes an incompatible change guarded by flag --incompatible_run_shell_command_string. Progress toward #5903. RELNOTES: The `command` parameter of the `actions.run_shell()` function will be restricted to only accept strings (and not string sequences). This check is attached to flag `--incompatible_run_shell_command_string`. One may migrate by using the `arguments` parameter of `actions.run()` instead. See bazelbuild/bazel#5903 for more info. PiperOrigin-RevId: 253122136
This tracks removal of a long-deprecated construct of the
command
parameter ofctx.actions.run_shell
andctx.actions.run
accepting a sequence of strings.The text was updated successfully, but these errors were encountered: