aboutsummaryrefslogtreecommitdiff
path: root/common.bazelrc
diff options
context:
space:
mode:
authorJingwen Chen <jingwen@google.com>2022-09-07 10:34:41 +0000
committerJingwen Chen <jingwen@google.com>2022-09-09 00:26:55 +0000
commit02075650624ddb923343f5f7606d69d1ba762c8a (patch)
treebbcf88caf5c2ec69ccd79c277c3cc28af142bb67 /common.bazelrc
parent03578dab503fe96a2d7a88c86996977198cabd8c (diff)
downloadbazel-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.bazelrc18
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