Summary
A Bzlmod consumer using Bazel 8.3.1 currently needs several legacy compatibility overrides and locally patched dependency metadata to build Valdi across web/test/Android configurations. Some flags suppress hard Bazel 8 incompatibilities; others produce deprecation warnings and are likely to become hard failures in a future Bazel release.
This is an anonymized consumer report intended as an umbrella/checklist for declaring and testing a supported Bazel 8 configuration.
Environment
- Bazel 8.3.1
- macOS arm64 consumer; Android and web/test targets exercised
- Valdi through Bzlmod
- Hermetic Android SDK and NDK
- Patched
rules_kotlin 1.9.0 dependency stack
Compatibility overrides currently required
# Host-specific hermetic NDK globs can be empty on macOS.
common --noincompatible_disallow_empty_glob
# The patched rules_kotlin 1.9.0 graph still uses legacy APIs/providers.
common --incompatible_disallow_struct_provider_syntax=false
common --noincompatible_disallow_ctx_resolve_tools
# Android/rules_kotlin migration compatibility.
common --experimental_google_legacy_api=true
common --experimental_enable_android_migration_apis=true
common --incompatible_java_common_parameters=false
The consumer also still receives/uses deprecated configuration such as:
build --android_crosstool_top=@androidndk//:toolchain
build --experimental_generate_json_trace_profile
Bazel reports that android_crosstool_top is deprecated in favor of Android platforms and that experimental_generate_json_trace_profile has been replaced by generate_json_trace_profile.
The consumer's local registry additionally carries compatibility patches around the rules_kotlin module extension and hermetic Android SDK integration. Without the corresponding switches/patches, analysis fails before application code is reached.
Expected result
Valdi should either:
- build from a documented Bzlmod consumer template on a named Bazel 8 release without legacy incompatible switches, or
- explicitly publish the supported Bazel range and a maintained compatibility configuration while migration is in progress.
Proposed cleanup checklist
An umbrella issue seems useful because the switches interact in the same consumer bootstrap path, but individual checklist items can be split if that is easier to land.
Summary
A Bzlmod consumer using Bazel 8.3.1 currently needs several legacy compatibility overrides and locally patched dependency metadata to build Valdi across web/test/Android configurations. Some flags suppress hard Bazel 8 incompatibilities; others produce deprecation warnings and are likely to become hard failures in a future Bazel release.
This is an anonymized consumer report intended as an umbrella/checklist for declaring and testing a supported Bazel 8 configuration.
Environment
rules_kotlin1.9.0 dependency stackCompatibility overrides currently required
The consumer also still receives/uses deprecated configuration such as:
Bazel reports that
android_crosstool_topis deprecated in favor of Android platforms and thatexperimental_generate_json_trace_profilehas been replaced bygenerate_json_trace_profile.The consumer's local registry additionally carries compatibility patches around the
rules_kotlinmodule extension and hermetic Android SDK integration. Without the corresponding switches/patches, analysis fails before application code is reached.Expected result
Valdi should either:
Proposed cleanup checklist
rules_kotlinAPIs so struct-provider andctx.resolve_toolscompatibility switches can be removed.select, repository generation, or intentionalallow_empty) instead of globally permitting empty globs.android_crosstool_top.An umbrella issue seems useful because the switches interact in the same consumer bootstrap path, but individual checklist items can be split if that is easier to land.