1# Platforms and toolchains for AOSP. 2# 3# Set default target platform for builds to rely on product config's arch and os variables 4build --platforms //build/bazel/platforms:android_target 5 6# 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 12# Use toolchain resolution to find the cc toolchain. 13build --incompatible_enable_cc_toolchain_resolution 14 15# Ensure that the host_javabase always use @local_jdk, the checked-in JDK. 16build --tool_java_runtime_version=local_jdk 17build --java_runtime_version=local_jdk 18 19# 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 25# Enable usage of experimental cc-related build APIs 26build --experimental_cc_shared_library 27build --experimental_starlark_cc_import 28 29# 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 34# Disable local cpp toolchain detection, as it is explicitly declared in AOSP. 35build --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1 36 37build --proto_compiler=//external/protobuf:aprotoc 38 39# 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 44# Enable use of the implementation_deps attribute in native cc rules 45build --experimental_cc_implementation_deps 46 47# Enable building targets in //external:__subpackages__. 48common --experimental_sibling_repository_layout 49common --experimental_disable_external_package 50 51# Enable toplevel_output_directories and Ninja executor in Bazel 52common --experimental_ninja_actions 53 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 64# 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 68# Run bazel query from the workspace, without cd'ing into out/soong/workspace 69# Note that this hardcodes the output dir. It will not work if $OUT_DIR != out. 70common:bp2build --package_path=%workspace%/out/soong/workspace 71 72# 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 80# Support a local user-specific bazelrc file. 81try-import %workspace%/user.bazelrc 82 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 89build --define=android_incremental_dexing_tool=d8_dexbuilder 90build --define=android_dexmerger_tool=d8_dexmerger 91build --nouse_workers_with_dexbuilder 92build --fat_apk_cpu=k8 93 94# 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 99# 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 110