-
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
Remove the Native Android Rules from Bazel #23199
Labels
breaking-change-8.0
incompatible-change
Incompatible/breaking change
P1
I'll work on this now. (Assignee required)
team-Android
Issues for Android team
Comments
ahumesky
added
P1
I'll work on this now. (Assignee required)
team-Android
Issues for Android team
and removed
untriaged
labels
Aug 2, 2024
copybara-service bot
pushed a commit
that referenced
this issue
Aug 5, 2024
See #23199 RELNOTES: Bazel no longer has the android_ndk_repository rule. Use https://github.com/bazelbuild/rules_android_ndk instead. See #23199 PiperOrigin-RevId: 659683534 Change-Id: Iff04cbfc7d1fcf51f20ec5655350b359c1c71d25
copybara-service bot
pushed a commit
that referenced
this issue
Aug 5, 2024
…ld/rules_android instead. See #23199 RELNOTES: Bazel no longer has the android_local_test rule. Use https://github.com/bazelbuild/rules_android instead. See #23199 PiperOrigin-RevId: 659684040 Change-Id: I46d055538e9580b08935cfb8b378a10ba1efe8ca
keertk
pushed a commit
that referenced
this issue
Aug 13, 2024
Baseline: 300c586 Important changes: - Bazel no longer has the android_ndk_repository rule. Use https://github.com/bazelbuild/rules_android_ndk instead. See #23199 - Bazel no longer has the android_local_test rule. Use https://github.com/bazelbuild/rules_android instead. See #23199 This release contains contributions from many people at Google, as well as Fabian Meumertzheim, JKutscha, Xdng Yng.
copybara-service bot
pushed a commit
that referenced
this issue
Aug 13, 2024
Baseline: 300c586 Important changes: - Bazel no longer has the android_ndk_repository rule. Use https://github.com/bazelbuild/rules_android_ndk instead. See #23199 - Bazel no longer has the android_local_test rule. Use https://github.com/bazelbuild/rules_android instead. See #23199 This release contains contributions from many people at Google, as well as Fabian Meumertzheim, JKutscha, Xdng Yng.
copybara-service bot
pushed a commit
that referenced
this issue
Aug 29, 2024
…xture and android_host_service_fixture from Bazel. Use https://github.com/bazelbuild/rules_android instead. See #23199 RELNOTES: Bazel no longer has the android_binary, android_library, android_device_script_fixture and android_host_service_fixture rules. Use https://github.com/bazelbuild/rules_android instead. See #23199 PiperOrigin-RevId: 669050198 Change-Id: Ib1200476d99e26ba26707d93d826feff00ddb9b3
copybara-service bot
pushed a commit
that referenced
this issue
Sep 19, 2024
Baseline: 29f7c86 Cherry picks: + b637c47: Release 8.0.0-pre.20240909.1 (2024-09-19) + 5166a57: Release 8.0.0-pre.20240909.1 (2024-09-19) Incompatible changes: - `ctx.resolve_tools` is no longer available by default, in preparation for complete removal. See #22249 for migration instructions. Use `--noincompatible_disallow_ctx_resolve_tools` to temporarily make it available again. - The `aquery` command now reports all potential inputs of actions that support input discovery, including the input headers of C++ compilation actions and those explicitly marked as unused through the `unused_inputs_list` argument to `ctx.actions.run`. Set `--noinclude_pruned_inputs` to omit pruned inputs from `aquery` output when running it after action execution. RELNOTES[INC]: This is not a release note, but a reminder to remove the note for `--include_scheduling_dependencies`, which was introduced in the 8.x tree but won't make it into the final release. - `--zip_undeclared_test_outputs` now defaults to false, causing undeclared test outputs (i.e., files written to `$TEST_UNDECLARED_OUTPUTS_DIR` by a test) to be produced as a directory instead of a zip file. Important changes: - A new experimental flag, `--experimental_build_event_output_group_mode`, allows users to change how a given output group's files are reported in BEP. The current behavior is `FILESET` which populates `OutputGroup.file_sets`. Users may now specify `INLINE` to instead report files directly in the `TargetComplete`/`AspectComplete` event under `OutputGroup.inline_files`. Users may also specify `BOTH` to populate `OutputGroup.file_sets` and `OutputGroup.inline_files`. - Bazel no longer has the android_binary, android_library, android_device_script_fixture and android_host_service_fixture rules. Use https://github.com/bazelbuild/rules_android instead. See #23199 - Bazel no longer has the android_sdk_repository rule. Use https://github.com/bazelbuild/rules_android instead. - Uploading local action results to a disk or remote cache now occurs in the background whenever possible, potentially unblocking the execution of followup actions. Set `--noremote_cache_async` to revert to the previous behavior. - `--incompatible_remote_downloader_send_all_headers` is removed. - `--build_event_upload_max_threads` is removed. - `incompatible_remote_output_paths_relative_to_input_root` is removed. - The default value of `--experimental_remote_cache_compression_threshold` is changed to `100`. - Build without the Bytes is disabled when using HTTP cache. - Build without the Bytes is disabled when using HTTP cache. - Symlink trees are now created through direct filesystem calls by default, instead of delegated to a helper process. On Windows, this entails respecting the `--windows_enable_symlinks` flag, falling back to a copy when the flag is unset (the helper process always attempts to create symlinks, irrespective of the flag). Set `--noexperimental_inprocess_symlink_creation` to temporarily revert to the previous behavior, which will be removed in a future release. - By default, coverage artifacts will be reported inline in the `TargetComplete` event. To disable this behavior, pass `--experimental_build_event_output_group_mode=baseline.lcov=named_ set_of_files_only`. This release contains contributions from many people at Google, as well as Adam Azarchs, Alessandro Patti, Benjamin Peterson, Cornelius Riemenschneider, Fabian Meumertzheim, Jordan Mele, PikachuHy, Xdng Yng, xinyu.wang.
fweikert
pushed a commit
that referenced
this issue
Sep 19, 2024
Baseline: 29f7c86 Incompatible changes: - `ctx.resolve_tools` is no longer available by default, in preparation for complete removal. See #22249 for migration instructions. Use `--noincompatible_disallow_ctx_resolve_tools` to temporarily make it available again. - The `aquery` command now reports all potential inputs of actions that support input discovery, including the input headers of C++ compilation actions and those explicitly marked as unused through the `unused_inputs_list` argument to `ctx.actions.run`. Set `--noinclude_pruned_inputs` to omit pruned inputs from `aquery` output when running it after action execution. RELNOTES[INC]: This is not a release note, but a reminder to remove the note for `--include_scheduling_dependencies`, which was introduced in the 8.x tree but won't make it into the final release. - `--zip_undeclared_test_outputs` now defaults to false, causing undeclared test outputs (i.e., files written to `$TEST_UNDECLARED_OUTPUTS_DIR` by a test) to be produced as a directory instead of a zip file. Important changes: - A new experimental flag, `--experimental_build_event_output_group_mode`, allows users to change how a given output group's files are reported in BEP. The current behavior is `FILESET` which populates `OutputGroup.file_sets`. Users may now specify `INLINE` to instead report files directly in the `TargetComplete`/`AspectComplete` event under `OutputGroup.inline_files`. Users may also specify `BOTH` to populate `OutputGroup.file_sets` and `OutputGroup.inline_files`. - Bazel no longer has the android_binary, android_library, android_device_script_fixture and android_host_service_fixture rules. Use https://github.com/bazelbuild/rules_android instead. See #23199 - Bazel no longer has the android_sdk_repository rule. Use https://github.com/bazelbuild/rules_android instead. - Uploading local action results to a disk or remote cache now occurs in the background whenever possible, potentially unblocking the execution of followup actions. Set `--noremote_cache_async` to revert to the previous behavior. - `--incompatible_remote_downloader_send_all_headers` is removed. - `--build_event_upload_max_threads` is removed. - `incompatible_remote_output_paths_relative_to_input_root` is removed. - The default value of `--experimental_remote_cache_compression_threshold` is changed to `100`. - Build without the Bytes is disabled when using HTTP cache. - Build without the Bytes is disabled when using HTTP cache. - Symlink trees are now created through direct filesystem calls by default, instead of delegated to a helper process. On Windows, this entails respecting the `--windows_enable_symlinks` flag, falling back to a copy when the flag is unset (the helper process always attempts to create symlinks, irrespective of the flag). Set `--noexperimental_inprocess_symlink_creation` to temporarily revert to the previous behavior, which will be removed in a future release. - By default, coverage artifacts will be reported inline in the `TargetComplete` event. To disable this behavior, pass `--experimental_build_event_output_group_mode=baseline.lcov=named_ set_of_files_only`. This release contains contributions from many people at Google, as well as Adam Azarchs, Alessandro Patti, Benjamin Peterson, Cornelius Riemenschneider, Fabian Meumertzheim, Jordan Mele, PikachuHy, Xdng Yng, xinyu.wang.
fweikert
pushed a commit
that referenced
this issue
Sep 19, 2024
Baseline: 29f7c86 Cherry picks: + b637c47: Release 8.0.0-pre.20240909.1 (2024-09-19) Incompatible changes: - `ctx.resolve_tools` is no longer available by default, in preparation for complete removal. See #22249 for migration instructions. Use `--noincompatible_disallow_ctx_resolve_tools` to temporarily make it available again. - The `aquery` command now reports all potential inputs of actions that support input discovery, including the input headers of C++ compilation actions and those explicitly marked as unused through the `unused_inputs_list` argument to `ctx.actions.run`. Set `--noinclude_pruned_inputs` to omit pruned inputs from `aquery` output when running it after action execution. RELNOTES[INC]: This is not a release note, but a reminder to remove the note for `--include_scheduling_dependencies`, which was introduced in the 8.x tree but won't make it into the final release. - `--zip_undeclared_test_outputs` now defaults to false, causing undeclared test outputs (i.e., files written to `$TEST_UNDECLARED_OUTPUTS_DIR` by a test) to be produced as a directory instead of a zip file. Important changes: - A new experimental flag, `--experimental_build_event_output_group_mode`, allows users to change how a given output group's files are reported in BEP. The current behavior is `FILESET` which populates `OutputGroup.file_sets`. Users may now specify `INLINE` to instead report files directly in the `TargetComplete`/`AspectComplete` event under `OutputGroup.inline_files`. Users may also specify `BOTH` to populate `OutputGroup.file_sets` and `OutputGroup.inline_files`. - Bazel no longer has the android_binary, android_library, android_device_script_fixture and android_host_service_fixture rules. Use https://github.com/bazelbuild/rules_android instead. See #23199 - Bazel no longer has the android_sdk_repository rule. Use https://github.com/bazelbuild/rules_android instead. - Uploading local action results to a disk or remote cache now occurs in the background whenever possible, potentially unblocking the execution of followup actions. Set `--noremote_cache_async` to revert to the previous behavior. - `--incompatible_remote_downloader_send_all_headers` is removed. - `--build_event_upload_max_threads` is removed. - `incompatible_remote_output_paths_relative_to_input_root` is removed. - The default value of `--experimental_remote_cache_compression_threshold` is changed to `100`. - Build without the Bytes is disabled when using HTTP cache. - Build without the Bytes is disabled when using HTTP cache. - Symlink trees are now created through direct filesystem calls by default, instead of delegated to a helper process. On Windows, this entails respecting the `--windows_enable_symlinks` flag, falling back to a copy when the flag is unset (the helper process always attempts to create symlinks, irrespective of the flag). Set `--noexperimental_inprocess_symlink_creation` to temporarily revert to the previous behavior, which will be removed in a future release. - By default, coverage artifacts will be reported inline in the `TargetComplete` event. To disable this behavior, pass `--experimental_build_event_output_group_mode=baseline.lcov=named_ set_of_files_only`. This release contains contributions from many people at Google, as well as Adam Azarchs, Alessandro Patti, Benjamin Peterson, Cornelius Riemenschneider, Fabian Meumertzheim, Jordan Mele, PikachuHy, Xdng Yng, xinyu.wang.
fweikert
pushed a commit
that referenced
this issue
Sep 19, 2024
Baseline: 29f7c86 Cherry picks: + b637c47: Release 8.0.0-pre.20240909.1 (2024-09-19) + 5166a57: Release 8.0.0-pre.20240909.1 (2024-09-19) Incompatible changes: - `ctx.resolve_tools` is no longer available by default, in preparation for complete removal. See #22249 for migration instructions. Use `--noincompatible_disallow_ctx_resolve_tools` to temporarily make it available again. - The `aquery` command now reports all potential inputs of actions that support input discovery, including the input headers of C++ compilation actions and those explicitly marked as unused through the `unused_inputs_list` argument to `ctx.actions.run`. Set `--noinclude_pruned_inputs` to omit pruned inputs from `aquery` output when running it after action execution. RELNOTES[INC]: This is not a release note, but a reminder to remove the note for `--include_scheduling_dependencies`, which was introduced in the 8.x tree but won't make it into the final release. - `--zip_undeclared_test_outputs` now defaults to false, causing undeclared test outputs (i.e., files written to `$TEST_UNDECLARED_OUTPUTS_DIR` by a test) to be produced as a directory instead of a zip file. Important changes: - A new experimental flag, `--experimental_build_event_output_group_mode`, allows users to change how a given output group's files are reported in BEP. The current behavior is `FILESET` which populates `OutputGroup.file_sets`. Users may now specify `INLINE` to instead report files directly in the `TargetComplete`/`AspectComplete` event under `OutputGroup.inline_files`. Users may also specify `BOTH` to populate `OutputGroup.file_sets` and `OutputGroup.inline_files`. - Bazel no longer has the android_binary, android_library, android_device_script_fixture and android_host_service_fixture rules. Use https://github.com/bazelbuild/rules_android instead. See #23199 - Bazel no longer has the android_sdk_repository rule. Use https://github.com/bazelbuild/rules_android instead. - Uploading local action results to a disk or remote cache now occurs in the background whenever possible, potentially unblocking the execution of followup actions. Set `--noremote_cache_async` to revert to the previous behavior. - `--incompatible_remote_downloader_send_all_headers` is removed. - `--build_event_upload_max_threads` is removed. - `incompatible_remote_output_paths_relative_to_input_root` is removed. - The default value of `--experimental_remote_cache_compression_threshold` is changed to `100`. - Build without the Bytes is disabled when using HTTP cache. - Build without the Bytes is disabled when using HTTP cache. - Symlink trees are now created through direct filesystem calls by default, instead of delegated to a helper process. On Windows, this entails respecting the `--windows_enable_symlinks` flag, falling back to a copy when the flag is unset (the helper process always attempts to create symlinks, irrespective of the flag). Set `--noexperimental_inprocess_symlink_creation` to temporarily revert to the previous behavior, which will be removed in a future release. - By default, coverage artifacts will be reported inline in the `TargetComplete` event. To disable this behavior, pass `--experimental_build_event_output_group_mode=baseline.lcov=named_ set_of_files_only`. This release contains contributions from many people at Google, as well as Adam Azarchs, Alessandro Patti, Benjamin Peterson, Cornelius Riemenschneider, Fabian Meumertzheim, Jordan Mele, PikachuHy, Xdng Yng, xinyu.wang.
iancha1992
pushed a commit
that referenced
this issue
Sep 20, 2024
Baseline: 29f7c86 Cherry picks: + b637c47: Release 8.0.0-pre.20240909.1 (2024-09-19) + 5166a57: Release 8.0.0-pre.20240909.1 (2024-09-19) Incompatible changes: - `ctx.resolve_tools` is no longer available by default, in preparation for complete removal. See #22249 for migration instructions. Use `--noincompatible_disallow_ctx_resolve_tools` to temporarily make it available again. - The `aquery` command now reports all potential inputs of actions that support input discovery, including the input headers of C++ compilation actions and those explicitly marked as unused through the `unused_inputs_list` argument to `ctx.actions.run`. Set `--noinclude_pruned_inputs` to omit pruned inputs from `aquery` output when running it after action execution. RELNOTES[INC]: This is not a release note, but a reminder to remove the note for `--include_scheduling_dependencies`, which was introduced in the 8.x tree but won't make it into the final release. - `--zip_undeclared_test_outputs` now defaults to false, causing undeclared test outputs (i.e., files written to `$TEST_UNDECLARED_OUTPUTS_DIR` by a test) to be produced as a directory instead of a zip file. Important changes: - A new experimental flag, `--experimental_build_event_output_group_mode`, allows users to change how a given output group's files are reported in BEP. The current behavior is `FILESET` which populates `OutputGroup.file_sets`. Users may now specify `INLINE` to instead report files directly in the `TargetComplete`/`AspectComplete` event under `OutputGroup.inline_files`. Users may also specify `BOTH` to populate `OutputGroup.file_sets` and `OutputGroup.inline_files`. - Bazel no longer has the android_binary, android_library, android_device_script_fixture and android_host_service_fixture rules. Use https://github.com/bazelbuild/rules_android instead. See #23199 - Bazel no longer has the android_sdk_repository rule. Use https://github.com/bazelbuild/rules_android instead. - Uploading local action results to a disk or remote cache now occurs in the background whenever possible, potentially unblocking the execution of followup actions. Set `--noremote_cache_async` to revert to the previous behavior. - `--incompatible_remote_downloader_send_all_headers` is removed. - `--build_event_upload_max_threads` is removed. - `incompatible_remote_output_paths_relative_to_input_root` is removed. - The default value of `--experimental_remote_cache_compression_threshold` is changed to `100`. - Build without the Bytes is disabled when using HTTP cache. - Build without the Bytes is disabled when using HTTP cache. - Symlink trees are now created through direct filesystem calls by default, instead of delegated to a helper process. On Windows, this entails respecting the `--windows_enable_symlinks` flag, falling back to a copy when the flag is unset (the helper process always attempts to create symlinks, irrespective of the flag). Set `--noexperimental_inprocess_symlink_creation` to temporarily revert to the previous behavior, which will be removed in a future release. - By default, coverage artifacts will be reported inline in the `TargetComplete` event. To disable this behavior, pass `--experimental_build_event_output_group_mode=baseline.lcov=named_ set_of_files_only`. This release contains contributions from many people at Google, as well as Adam Azarchs, Alessandro Patti, Benjamin Peterson, Cornelius Riemenschneider, Fabian Meumertzheim, Jordan Mele, PikachuHy, Xdng Yng, xinyu.wang.
keertk
pushed a commit
that referenced
this issue
Oct 3, 2024
Baseline: f4d92d4 Cherry picks: + 99434b1: Automated rollback of commit 4607ad4. Incompatible changes: - `ctx.resolve_tools` is no longer available by default, in preparation for complete removal. See #22249 for migration instructions. Use `--noincompatible_disallow_ctx_resolve_tools` to temporarily make it available again. - The `aquery` command now reports all potential inputs of actions that support input discovery, including the input headers of C++ compilation actions and those explicitly marked as unused through the `unused_inputs_list` argument to `ctx.actions.run`. Set `--noinclude_pruned_inputs` to omit pruned inputs from `aquery` output when running it after action execution. RELNOTES[INC]: This is not a release note, but a reminder to remove the note for `--include_scheduling_dependencies`, which was introduced in the 8.x tree but won't make it into the final release. - `--zip_undeclared_test_outputs` now defaults to false, causing undeclared test outputs (i.e., files written to `$TEST_UNDECLARED_OUTPUTS_DIR` by a test) to be produced as a directory instead of a zip file. - --legacy_important_outputs is flipped to false. See #14353 for details New features: - Bazel can now parse .scl files, a dialect of Starlark without Bazel-specific symbols. - Dormant dependencies and materializer functions are now available with the --experimental_dormant_deps flag. Important changes: - Deleted native Android mobile-install - Repository rules instantiated in the same module extensions can now refer to each other by their extension-specified names in label attributes. - A new experimental flag, `--experimental_build_event_output_group_mode`, allows users to change how a given output group's files are reported in BEP. The current behavior is `FILESET` which populates `OutputGroup.file_sets`. Users may now specify `INLINE` to instead report files directly in the `TargetComplete`/`AspectComplete` event under `OutputGroup.inline_files`. Users may also specify `BOTH` to populate `OutputGroup.file_sets` and `OutputGroup.inline_files`. - Bazel no longer has the android_binary, android_library, android_device_script_fixture and android_host_service_fixture rules. Use https://github.com/bazelbuild/rules_android instead. See #23199 - Bazel no longer has the android_sdk_repository rule. Use https://github.com/bazelbuild/rules_android instead. - Uploading local action results to a disk or remote cache now occurs in the background whenever possible, potentially unblocking the execution of followup actions. Set `--noremote_cache_async` to revert to the previous behavior. - `--incompatible_remote_downloader_send_all_headers` is removed. - `--build_event_upload_max_threads` is removed. - `incompatible_remote_output_paths_relative_to_input_root` is removed. - The default value of `--experimental_remote_cache_compression_threshold` is changed to `100`. - Build without the Bytes is disabled when using HTTP cache. - Build without the Bytes is disabled when using HTTP cache. - Symlink trees are now created through direct filesystem calls by default, instead of delegated to a helper process. On Windows, this entails respecting the `--windows_enable_symlinks` flag, falling back to a copy when the flag is unset (the helper process always attempts to create symlinks, irrespective of the flag). Set `--noexperimental_inprocess_symlink_creation` to temporarily revert to the previous behavior, which will be removed in a future release. - By default, coverage artifacts will be reported inline in the `TargetComplete` event. To disable this behavior, pass `--experimental_build_event_output_group_mode=baseline.lcov=named_ set_of_files_only`. - Uploading local action results to a disk or remote cache now occurs in the background whenever possible, potentially unblocking the execution of followup actions. Set `--noremote_cache_async` to revert to the previous behavior. - Overrides in the root MODULE.bazel file are now ignored with `--ignore_dev_dependency`. (Overrides in non-root modules are already ignored.) - Added support for using a remote cache that evicts blobs and doesn't have AC integrity check (e.g. HTTP cache). - Undeclared test outputs are now reported individually in the BEP, unless zipping is enabled via `--zip_undeclared_test_outputs`. - The native version of android_tools_defaults_jar is no longer in Bazel. Use https://github.com/bazelbuild/rules_android instead. - Bazel fetch and vendor command now supports --target_pattern_file for specifying target patterns. - The compact execution log now stores runfiles in a more compact representation that should reduce the memory overhead and log output size, in particular for test spawns. This change required breaking changes to the (experimental) log format. - `override_repo` and `inject_repo` can be used to override and inject repos in module extensions. - Patches to the module file in `single_version_override` are now effective as long as the patch file lies in the root module. - If `--allowed_cpu_values` is set, the `--cpu` flag value is validated against it. This release contains contributions from many people at Google, as well as Adam Azarchs, Alessandro Patti, Benjamin Peterson, Cornelius Riemenschneider, dependabot[bot], Fabian Meumertzheim, Fil-Den, George Gensure, hvd, Jacob Van De Weert, James Sharpe, Javier Maestro, Jay Conrod, John Millikin, Jordan Mele, Jordan Mele, Keith Smiley, Lior Gorelik, Luis Padron, Michael Siegrist, Nils Wireklint, PikachuHy, Sangita.Nalkar, Son Luong Ngoc, Thi Doan, Xdng Yng, xinyu.wang.
copybara-service bot
pushed a commit
that referenced
this issue
Oct 3, 2024
Baseline: f4d92d4 Cherry picks: + 99434b1: Automated rollback of commit 4607ad4. Incompatible changes: - `ctx.resolve_tools` is no longer available by default, in preparation for complete removal. See #22249 for migration instructions. Use `--noincompatible_disallow_ctx_resolve_tools` to temporarily make it available again. - The `aquery` command now reports all potential inputs of actions that support input discovery, including the input headers of C++ compilation actions and those explicitly marked as unused through the `unused_inputs_list` argument to `ctx.actions.run`. Set `--noinclude_pruned_inputs` to omit pruned inputs from `aquery` output when running it after action execution. RELNOTES[INC]: This is not a release note, but a reminder to remove the note for `--include_scheduling_dependencies`, which was introduced in the 8.x tree but won't make it into the final release. - `--zip_undeclared_test_outputs` now defaults to false, causing undeclared test outputs (i.e., files written to `$TEST_UNDECLARED_OUTPUTS_DIR` by a test) to be produced as a directory instead of a zip file. - --legacy_important_outputs is flipped to false. See #14353 for details New features: - Bazel can now parse .scl files, a dialect of Starlark without Bazel-specific symbols. - Dormant dependencies and materializer functions are now available with the --experimental_dormant_deps flag. Important changes: - Deleted native Android mobile-install - Repository rules instantiated in the same module extensions can now refer to each other by their extension-specified names in label attributes. - A new experimental flag, `--experimental_build_event_output_group_mode`, allows users to change how a given output group's files are reported in BEP. The current behavior is `FILESET` which populates `OutputGroup.file_sets`. Users may now specify `INLINE` to instead report files directly in the `TargetComplete`/`AspectComplete` event under `OutputGroup.inline_files`. Users may also specify `BOTH` to populate `OutputGroup.file_sets` and `OutputGroup.inline_files`. - Bazel no longer has the android_binary, android_library, android_device_script_fixture and android_host_service_fixture rules. Use https://github.com/bazelbuild/rules_android instead. See #23199 - Bazel no longer has the android_sdk_repository rule. Use https://github.com/bazelbuild/rules_android instead. - Uploading local action results to a disk or remote cache now occurs in the background whenever possible, potentially unblocking the execution of followup actions. Set `--noremote_cache_async` to revert to the previous behavior. - `--incompatible_remote_downloader_send_all_headers` is removed. - `--build_event_upload_max_threads` is removed. - `incompatible_remote_output_paths_relative_to_input_root` is removed. - The default value of `--experimental_remote_cache_compression_threshold` is changed to `100`. - Build without the Bytes is disabled when using HTTP cache. - Build without the Bytes is disabled when using HTTP cache. - Symlink trees are now created through direct filesystem calls by default, instead of delegated to a helper process. On Windows, this entails respecting the `--windows_enable_symlinks` flag, falling back to a copy when the flag is unset (the helper process always attempts to create symlinks, irrespective of the flag). Set `--noexperimental_inprocess_symlink_creation` to temporarily revert to the previous behavior, which will be removed in a future release. - By default, coverage artifacts will be reported inline in the `TargetComplete` event. To disable this behavior, pass `--experimental_build_event_output_group_mode=baseline.lcov=named_ set_of_files_only`. - Uploading local action results to a disk or remote cache now occurs in the background whenever possible, potentially unblocking the execution of followup actions. Set `--noremote_cache_async` to revert to the previous behavior. - Overrides in the root MODULE.bazel file are now ignored with `--ignore_dev_dependency`. (Overrides in non-root modules are already ignored.) - Added support for using a remote cache that evicts blobs and doesn't have AC integrity check (e.g. HTTP cache). - Undeclared test outputs are now reported individually in the BEP, unless zipping is enabled via `--zip_undeclared_test_outputs`. - The native version of android_tools_defaults_jar is no longer in Bazel. Use https://github.com/bazelbuild/rules_android instead. - Bazel fetch and vendor command now supports --target_pattern_file for specifying target patterns. - The compact execution log now stores runfiles in a more compact representation that should reduce the memory overhead and log output size, in particular for test spawns. This change required breaking changes to the (experimental) log format. - `override_repo` and `inject_repo` can be used to override and inject repos in module extensions. - Patches to the module file in `single_version_override` are now effective as long as the patch file lies in the root module. - If `--allowed_cpu_values` is set, the `--cpu` flag value is validated against it. This release contains contributions from many people at Google, as well as Adam Azarchs, Alessandro Patti, Benjamin Peterson, Cornelius Riemenschneider, dependabot[bot], Fabian Meumertzheim, Fil-Den, George Gensure, hvd, Jacob Van De Weert, James Sharpe, Javier Maestro, Jay Conrod, John Millikin, Jordan Mele, Jordan Mele, Keith Smiley, Lior Gorelik, Luis Padron, Michael Siegrist, Nils Wireklint, PikachuHy, Sangita.Nalkar, Son Luong Ngoc, Thi Doan, Xdng Yng, xinyu.wang.
All the native Android rules and providers have been removed in Bazel 8.0, and the tooling has been moved to rules_android. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
breaking-change-8.0
incompatible-change
Incompatible/breaking change
P1
I'll work on this now. (Assignee required)
team-Android
Issues for Android team
Motivation
The Bazel Android rules have been converted to Starlark in https://github.com/bazelbuild/rules_android and https://github.com/bazelbuild/rules_android_ndk
The native Android rules are no longer maintained and should be deleted from Bazel.
Description
The native Android rules will be removed from Bazel:
android_binary
mobile-install "classic"
android_library
aar_import
android_local_test
android_instrumentation_test
android_device
android_sdk_repository
android_ndk_repository
android_sdk
Their Starlark replacements are available at https://github.com/bazelbuild/rules_android and https://github.com/bazelbuild/rules_android_ndk
Incompatible Flag
--incompatible_disable_native_android_rules
Migration Guide
A Bazel blog post describing the migration in detail is forthcoming. In short, the Starlark Android rules are nearly 1:1 compatible with the native rules, and Bazel 8 will automatically load the Starlark version of the Android rules. Critical projects such as rules_jvm_external and tensorflow are migrating or are already migrated to the Starlark Android rules (bazel-contrib/rules_jvm_external#1149, tensorflow/tensorflow#61809).
In which Bazel LTS version will this incompatible change be enabled?
Bazel 8
Additional Context
No response
TODO List
Remove:
The text was updated successfully, but these errors were encountered: