Jingwen Chen | 0b36a7c | 2021-02-03 08:29:55 -0500 | [diff] [blame] | 1 | # Platforms and toolchains for AOSP. |
| 2 | # |
Jingwen Chen | feb1c44 | 2021-05-20 00:27:35 +0000 | [diff] [blame] | 3 | # Set default target platform for builds to android_arm because the default lunch target is aosp_arm. |
| 4 | build --platforms //build/bazel/platforms:android_arm |
Jingwen Chen | 0b36a7c | 2021-02-03 08:29:55 -0500 | [diff] [blame] | 5 | |
| 6 | # # Use toolchain resolution to find the cc toolchain. |
| 7 | build --incompatible_enable_cc_toolchain_resolution |
| 8 | |
Jingwen Chen | 9135d6b | 2021-04-07 13:53:14 +0000 | [diff] [blame] | 9 | # Ensure that the host_javabase always use @local_jdk, the checked-in JDK. |
| 10 | build --tool_java_runtime_version=local_jdk |
| 11 | |
Jingwen Chen | 14e8903 | 2020-10-12 10:32:35 +0000 | [diff] [blame] | 12 | # Lock down the PATH variable in actions to /usr/bin and /usr/local/bin. |
| 13 | build --experimental_strict_action_env |
| 14 | |
| 15 | # Explicitly allow unresolved symlinks (it's an experimental Bazel feature) |
| 16 | build --experimental_allow_unresolved_symlinks |
| 17 | |
Chris Parsons | cebcbe2 | 2021-05-25 12:22:58 -0400 | [diff] [blame^] | 18 | # Enable usage of experimental cc-related build APIs |
Jingwen Chen | 14e8903 | 2020-10-12 10:32:35 +0000 | [diff] [blame] | 19 | build --experimental_cc_shared_library |
Chris Parsons | cebcbe2 | 2021-05-25 12:22:58 -0400 | [diff] [blame^] | 20 | build --experimental_starlark_cc_import |
Jingwen Chen | 14e8903 | 2020-10-12 10:32:35 +0000 | [diff] [blame] | 21 | |
Jingwen Chen | fcb0c32 | 2021-05-12 10:45:51 +0000 | [diff] [blame] | 22 | # Do not tokenize copts, other than strings that consist of a single Make |
| 23 | # variable. This prevents the need to double-escape characters like backslashes |
| 24 | # and quotes in copts. |
| 25 | build --features no_copts_tokenization |
| 26 | |
Chris Parsons | 55c2687 | 2020-12-14 13:18:17 -0500 | [diff] [blame] | 27 | # Disable middleman actions |
| 28 | build --noexperimental_enable_aggregating_middleman |
| 29 | |
Chris Parsons | 6c70b3c | 2021-03-01 19:34:56 -0500 | [diff] [blame] | 30 | # Disable local cpp toolchain detection, as it is explicitly declared in AOSP. |
| 31 | build --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1 |
| 32 | |
Chris Parsons | 200cd8f | 2021-04-22 12:21:48 -0400 | [diff] [blame] | 33 | # Disable sandboxing for CppCompile actions, as headers are not fully specified. |
| 34 | # TODO(b/186116353): This is a temporary fix, as appropriately-sandboxed actions |
| 35 | # are a long term goal. |
| 36 | build --strategy=CppCompile=standalone |
| 37 | |
Chris Parsons | dfa069e | 2021-05-18 13:46:27 -0400 | [diff] [blame] | 38 | # Enable use of the implementation_deps attribute in native cc rules |
Jingwen Chen | 4c9bf6f | 2021-05-18 23:38:28 +0000 | [diff] [blame] | 39 | build --experimental_cc_implementation_deps |
Chris Parsons | dfa069e | 2021-05-18 13:46:27 -0400 | [diff] [blame] | 40 | |
Jingwen Chen | 14e8903 | 2020-10-12 10:32:35 +0000 | [diff] [blame] | 41 | # Enable building targets in //external:__subpackages__. |
| 42 | common --experimental_sibling_repository_layout |
| 43 | common --experimental_disable_external_package |
Jingwen Chen | 2c11916 | 2020-10-13 22:52:53 +0000 | [diff] [blame] | 44 | |
| 45 | # Enable toplevel_output_directories and Ninja executor in Bazel |
| 46 | common --experimental_ninja_actions |
Jingwen Chen | 730a4b6 | 2020-11-05 03:29:34 -0500 | [diff] [blame] | 47 | |
| 48 | # Increase refresh rate of command line UI for improved perceived responsiveness. |
| 49 | common --show_progress_rate_limit=0.05 |
| 50 | |
| 51 | # These are disabled when running under soong_ui (default = auto). Force enable them here. |
| 52 | common --color=yes |
| 53 | common --curses=yes |
| 54 | |
| 55 | # Show the full set of flags for observability and debuggability. |
| 56 | common --announce_rc |
| 57 | |
Jingwen Chen | 5671a1e | 2020-11-05 04:23:13 -0500 | [diff] [blame] | 58 | # Run bazel query from the workspace, without cd'ing into out/soong/queryview |
| 59 | # Note that this hardcodes the output dir. It will not work if $OUT_DIR != out. |
| 60 | common:queryview --package_path=%workspace%/out/soong/queryview |
| 61 | |
Chris Parsons | 360632d | 2021-04-21 18:45:12 -0400 | [diff] [blame] | 62 | # Run bazel query from the workspace, without cd'ing into out/soong/workspace |
Jingwen Chen | e43ad63 | 2020-12-02 04:37:31 -0500 | [diff] [blame] | 63 | # Note that this hardcodes the output dir. It will not work if $OUT_DIR != out. |
Chris Parsons | 360632d | 2021-04-21 18:45:12 -0400 | [diff] [blame] | 64 | common:bp2build --package_path=%workspace%/out/soong/workspace |
Jingwen Chen | e43ad63 | 2020-12-02 04:37:31 -0500 | [diff] [blame] | 65 | |
Jingwen Chen | 730a4b6 | 2020-11-05 03:29:34 -0500 | [diff] [blame] | 66 | # Support a local user-specific bazelrc file. |
| 67 | try-import %workspace%/user.bazelrc |
Alex Humesky | a8d3f7c | 2021-03-18 01:28:38 -0400 | [diff] [blame] | 68 | |
| 69 | build --android_sdk=//prebuilts/sdk:android_sdk |
| 70 | build --experimental_enable_android_migration_apis |
| 71 | build --experimental_google_legacy_api |
| 72 | build --incompatible_java_common_parameters |
| 73 | build --android_databinding_use_v3_4_args |
| 74 | build --experimental_android_databinding_v2 |
Jingwen Chen | edb7db0 | 2021-04-13 08:16:03 +0000 | [diff] [blame] | 75 | |
| 76 | # Developer instance for result storage. This only works if you have access |
| 77 | # to the Bazel GCP project. Follow the GCP gcloud client's auth instructions to |
| 78 | # use --google_default_credentials. |
| 79 | build:results --remote_instance_name=projects/bazel-untrusted/instances/default_instance |
| 80 | build:results --project_id=bazel-untrusted |
| 81 | build:results --remote_timeout=600 |
| 82 | build:results --google_default_credentials |
| 83 | build:results --test_summary=detailed |
| 84 | build:results --bes_backend=buildeventservice.googleapis.com |
| 85 | build:results --bes_results_url=https://source.cloud.google.com/results/invocations |
| 86 | build:results --show_progress_rate_limit=5 |