diff options
author | Jingwen Chen <jingwen@google.com> | 2022-09-07 10:34:41 +0000 |
---|---|---|
committer | Jingwen Chen <jingwen@google.com> | 2022-09-09 00:26:55 +0000 |
commit | 02075650624ddb923343f5f7606d69d1ba762c8a (patch) | |
tree | bbcf88caf5c2ec69ccd79c277c3cc28af142bb67 /common.bazelrc | |
parent | 03578dab503fe96a2d7a88c86996977198cabd8c (diff) | |
download | bazel-02075650624ddb923343f5f7606d69d1ba762c8a.tar.gz |
Change the default --platforms to host, and restrict the allowed
--platforms values.
The current set of allowed --platforms are:
- //build/bazel/platforms:linux_x86_64 (default)
- //build/bazel/platforms:android_target (infers from product config - variables, i.e. lunch)
This list is enforced by the startup --invocation_policy flag. An
invalid --platforms value results in:
ERROR: Flag value '[//build/bazel/platforms:android_arm64]' for option
'--platforms' is not allowed by invocation policy and the policy does
not specify a new value. Allowed values are:
[//build/bazel/platforms:android_target, //build/bazel/platforms:linux_x86_64]
This will prevent undefined behavior, such as `lunch aosp_arm && b build --config=android_x86_64`.
Given that the host platform is now default, all android cross
compilation commands need to pass --config=android to succeed.
The other platform definitions aren't deleted yet because they're needed
for split transition configuration (e.g. see apex_aab).
Bug: 244766775
Test: presubmits
Change-Id: Ifc0ade319543f2c2c5e8581e8282ffd86aac67d0
Diffstat (limited to 'common.bazelrc')
-rw-r--r-- | common.bazelrc | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/common.bazelrc b/common.bazelrc index 74608a3b..b9f16d4d 100644 --- a/common.bazelrc +++ b/common.bazelrc @@ -1,17 +1,17 @@ # Platforms and toolchains for AOSP. # # Set default target platform for builds to rely on product config's arch and os variables -build --platforms //build/bazel/platforms:android_target +build --platforms //build/bazel/platforms:linux_x86_64 build --platform_mappings=build/bazel/platforms/platform_mappings -# Configs to group/simplify target platform specific flags. -build:android_x86_64 --platforms=//build/bazel/platforms:android_x86_64 -build:android_x86 --platforms=//build/bazel/platforms:android_x86 -build:android_arm64 --platforms=//build/bazel/platforms:android_arm64 -build:android_arm --platforms=//build/bazel/platforms:android_arm - +build:android --platforms=//build/bazel/platforms:android_target build:linux_x86_64 --platforms=//build/bazel/platforms:linux_x86_64 +# Ban command line usage of setting --platforms to anything other than +# android_target and host linux. The target platform should be determined by +# product config / lunch. +startup --invocation_policy="flag_policies { flag_name: \"platforms\" allow_values { allowed_values: \"//build/bazel/platforms:android_target\", allowed_values: \"//build/bazel/platforms:linux_x86_64\"}}" + # Use the target platform (android_x86, android_arm) in the bazel-out/ output # directory name fragment instead of the CPU (darwin, k8). This avoids # thrashing the output directory when switching between top level target @@ -86,9 +86,11 @@ common:ci --color=no common:ci --curses=no common:ci --show_progress_rate_limit=5 common:ci --noshow_loading_progress - # Show the full set of flags for observability and debuggability. +# Show the full set of flags for observability and debuggability. common:ci --announce_rc build:ci --verbose_failures +# Log apexer verbosely on CI (it has a noisy but useful output) +build:ci --//build/bazel/rules/apex:apexer_verbose test:ci --keep_going test:ci --test_output=errors |