| # 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 |
| |
| # 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 |
| # --platforms values. |
| build --experimental_platform_in_output_dir |
| |
| # Use toolchain resolution to find the cc toolchain. |
| build --incompatible_enable_cc_toolchain_resolution |
| |
| # Ensure that the host_javabase always use @local_jdk, the checked-in JDK. |
| build --tool_java_runtime_version=local_jdk |
| build --java_runtime_version=local_jdk |
| |
| # Lock down the PATH variable in actions to /usr/bin and /usr/local/bin. |
| build --experimental_strict_action_env |
| |
| # Explicitly allow unresolved symlinks (it's an experimental Bazel feature) |
| build --experimental_allow_unresolved_symlinks |
| |
| # Enable usage of experimental cc-related build APIs |
| build --experimental_cc_shared_library |
| build --experimental_starlark_cc_import |
| |
| # Do not tokenize copts, other than strings that consist of a single Make |
| # variable. This prevents the need to double-escape characters like backslashes |
| # and quotes in copts. |
| build --features no_copts_tokenization |
| |
| # Disable local cpp toolchain detection, as it is explicitly declared in AOSP. |
| build --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1 |
| |
| build --proto_compiler=//external/protobuf:aprotoc |
| |
| # Disable sandboxing for CppCompile actions, as headers are not fully specified. |
| # TODO(b/186116353): This is a temporary fix, as appropriately-sandboxed actions |
| # are a long term goal. |
| build --strategy=CppCompile=standalone |
| |
| # Enable use of the implementation_deps attribute in native cc rules |
| build --experimental_cc_implementation_deps |
| |
| # Enable building targets in //external:__subpackages__. |
| common --experimental_sibling_repository_layout |
| common --experimental_disable_external_package |
| |
| # Enable toplevel_output_directories and Ninja executor in Bazel |
| common --experimental_ninja_actions |
| |
| # Increase refresh rate of command line UI for improved perceived responsiveness. |
| common --show_progress_rate_limit=0.05 |
| |
| # These are disabled when running under soong_ui (default = auto). Force enable them here. |
| common --color=yes |
| common --curses=yes |
| |
| # Show the full set of flags for observability and debuggability. |
| common --announce_rc |
| |
| # Run bazel query from the workspace, without cd'ing into out/soong/queryview |
| # Note that this hardcodes the output dir. It will not work if $OUT_DIR != out. |
| common:queryview --package_path=%workspace%/out/soong/queryview |
| |
| # Run bazel query from the workspace, without cd'ing into out/soong/workspace |
| # Note that this hardcodes the output dir. It will not work if $OUT_DIR != out. |
| common:bp2build --package_path=%workspace%/out/soong/workspace |
| |
| # Configurations specific to CI builds, generally to improve signal-to-noise ratio in server logs. |
| common:ci --color=no |
| common:ci --curses=no |
| common:ci --show_progress_rate_limit=5 |
| common:ci --noshow_loading_progress |
| test:ci --keep_going |
| test:ci --test_output=errors |
| |
| # Support a local user-specific bazelrc file. |
| try-import %workspace%/user.bazelrc |
| |
| build --android_sdk=//prebuilts/sdk:android_sdk |
| build --experimental_enable_android_migration_apis |
| build --experimental_google_legacy_api |
| build --incompatible_java_common_parameters |
| build --android_databinding_use_v3_4_args |
| build --experimental_android_databinding_v2 |
| build --define=android_incremental_dexing_tool=d8_dexbuilder |
| build --define=android_dexmerger_tool=d8_dexmerger |
| build --nouse_workers_with_dexbuilder |
| build --fat_apk_cpu=k8 |
| |
| # TODO(b/199038020): Use a python_toolchain when we have Starlark rules_python. |
| # This also means all python scripts are using py3 runtime. |
| build --python_top=//prebuilts/build-tools:python3 |
| build --noincompatible_use_python_toolchains |
| |
| # Developer instance for result storage. This only works if you have access |
| # to the Bazel GCP project. Follow the GCP gcloud client's auth instructions to |
| # use --google_default_credentials. |
| build:results --remote_instance_name=projects/bazel-untrusted/instances/default_instance |
| build:results --project_id=bazel-untrusted |
| build:results --remote_timeout=600 |
| build:results --google_default_credentials |
| build:results --test_summary=detailed |
| build:results --bes_backend=buildeventservice.googleapis.com |
| build:results --bes_results_url=https://source.cloud.google.com/results/invocations |
| build:results --show_progress_rate_limit=5 |