blob: 368efa21cd9ec2f6eeb6ab61d694cd5bf3b05fc0 [file] [log] [blame]
Jingwen Chen0b36a7c2021-02-03 08:29:55 -05001# Platforms and toolchains for AOSP.
2#
Jingwen Chen3b3e56b2021-10-07 10:28:45 +00003# Set default target platform for builds to rely on product config's arch and os variables
4build --platforms //build/bazel/platforms:android_target
Jingwen Chen0b36a7c2021-02-03 08:29:55 -05005
Jingwen Chen81608a12021-11-09 11:54:52 +00006# Use the target platform (android_x86, android_arm) in the bazel-out/ output
7# directory name fragment instead of the CPU (darwin, k8). This avoids
8# thrashing the output directory when switching between top level target
9# --platforms values.
10build --experimental_platform_in_output_dir
11
Jingwen Chen3b3e56b2021-10-07 10:28:45 +000012# Use toolchain resolution to find the cc toolchain.
Jingwen Chen0b36a7c2021-02-03 08:29:55 -050013build --incompatible_enable_cc_toolchain_resolution
14
Jingwen Chen9135d6b2021-04-07 13:53:14 +000015# Ensure that the host_javabase always use @local_jdk, the checked-in JDK.
Alex Humesky32596dd2021-08-13 02:06:23 +000016build --tool_java_runtime_version=local_jdk
Romain Jobredeaux9d3fe1c2021-08-26 14:44:30 +000017build --java_runtime_version=local_jdk
Jingwen Chen9135d6b2021-04-07 13:53:14 +000018
Jingwen Chen14e89032020-10-12 10:32:35 +000019# Lock down the PATH variable in actions to /usr/bin and /usr/local/bin.
20build --experimental_strict_action_env
21
22# Explicitly allow unresolved symlinks (it's an experimental Bazel feature)
23build --experimental_allow_unresolved_symlinks
24
Chris Parsonscebcbe22021-05-25 12:22:58 -040025# Enable usage of experimental cc-related build APIs
Jingwen Chen14e89032020-10-12 10:32:35 +000026build --experimental_cc_shared_library
Chris Parsonscebcbe22021-05-25 12:22:58 -040027build --experimental_starlark_cc_import
Jingwen Chen14e89032020-10-12 10:32:35 +000028
Jingwen Chenfcb0c322021-05-12 10:45:51 +000029# Do not tokenize copts, other than strings that consist of a single Make
30# variable. This prevents the need to double-escape characters like backslashes
31# and quotes in copts.
32build --features no_copts_tokenization
33
Chris Parsons6c70b3c2021-03-01 19:34:56 -050034# Disable local cpp toolchain detection, as it is explicitly declared in AOSP.
35build --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1
36
Liz Kammer296a4812021-11-15 08:58:45 -050037build --proto_compiler=//external/protobuf:aprotoc
38
Chris Parsons200cd8f2021-04-22 12:21:48 -040039# Disable sandboxing for CppCompile actions, as headers are not fully specified.
40# TODO(b/186116353): This is a temporary fix, as appropriately-sandboxed actions
41# are a long term goal.
42build --strategy=CppCompile=standalone
43
Chris Parsonsdfa069e2021-05-18 13:46:27 -040044# Enable use of the implementation_deps attribute in native cc rules
Jingwen Chen4c9bf6f2021-05-18 23:38:28 +000045build --experimental_cc_implementation_deps
Chris Parsonsdfa069e2021-05-18 13:46:27 -040046
Jingwen Chen14e89032020-10-12 10:32:35 +000047# Enable building targets in //external:__subpackages__.
48common --experimental_sibling_repository_layout
49common --experimental_disable_external_package
Jingwen Chen2c119162020-10-13 22:52:53 +000050
51# Enable toplevel_output_directories and Ninja executor in Bazel
52common --experimental_ninja_actions
Jingwen Chen730a4b62020-11-05 03:29:34 -050053
54# Increase refresh rate of command line UI for improved perceived responsiveness.
55common --show_progress_rate_limit=0.05
56
57# These are disabled when running under soong_ui (default = auto). Force enable them here.
58common --color=yes
59common --curses=yes
60
61# Show the full set of flags for observability and debuggability.
62common --announce_rc
63
Jingwen Chen5671a1e2020-11-05 04:23:13 -050064# Run bazel query from the workspace, without cd'ing into out/soong/queryview
65# Note that this hardcodes the output dir. It will not work if $OUT_DIR != out.
66common:queryview --package_path=%workspace%/out/soong/queryview
67
Chris Parsons360632d2021-04-21 18:45:12 -040068# Run bazel query from the workspace, without cd'ing into out/soong/workspace
Jingwen Chene43ad632020-12-02 04:37:31 -050069# Note that this hardcodes the output dir. It will not work if $OUT_DIR != out.
Chris Parsons360632d2021-04-21 18:45:12 -040070common:bp2build --package_path=%workspace%/out/soong/workspace
Jingwen Chene43ad632020-12-02 04:37:31 -050071
Jingwen Chen7461e3e2022-02-09 10:52:46 +000072# Configurations specific to CI builds, generally to improve signal-to-noise ratio in server logs.
73common:ci --color=no
74common:ci --curses=no
75common:ci --show_progress_rate_limit=5
76common:ci --noshow_loading_progress
77test:ci --keep_going
78test:ci --test_output=errors
79
Jingwen Chen730a4b62020-11-05 03:29:34 -050080# Support a local user-specific bazelrc file.
81try-import %workspace%/user.bazelrc
Alex Humeskya8d3f7c2021-03-18 01:28:38 -040082
83build --android_sdk=//prebuilts/sdk:android_sdk
84build --experimental_enable_android_migration_apis
85build --experimental_google_legacy_api
86build --incompatible_java_common_parameters
87build --android_databinding_use_v3_4_args
88build --experimental_android_databinding_v2
Romain Jobredeaux86499f42021-08-02 17:22:32 +000089build --define=android_incremental_dexing_tool=d8_dexbuilder
90build --define=android_dexmerger_tool=d8_dexmerger
91build --nouse_workers_with_dexbuilder
Romain Jobredeaux9d3fe1c2021-08-26 14:44:30 +000092build --fat_apk_cpu=k8
Jingwen Chenedb7db02021-04-13 08:16:03 +000093
Jingwen Chen0a831a62022-01-07 14:57:16 +000094# TODO(b/199038020): Use a python_toolchain when we have Starlark rules_python.
95# This also means all python scripts are using py3 runtime.
96build --python_top=//prebuilts/build-tools:python3
97build --noincompatible_use_python_toolchains
98
Jingwen Chenedb7db02021-04-13 08:16:03 +000099# Developer instance for result storage. This only works if you have access
100# to the Bazel GCP project. Follow the GCP gcloud client's auth instructions to
101# use --google_default_credentials.
102build:results --remote_instance_name=projects/bazel-untrusted/instances/default_instance
103build:results --project_id=bazel-untrusted
104build:results --remote_timeout=600
105build:results --google_default_credentials
106build:results --test_summary=detailed
107build:results --bes_backend=buildeventservice.googleapis.com
108build:results --bes_results_url=https://source.cloud.google.com/results/invocations
109build:results --show_progress_rate_limit=5