Lukacs T. Berki | a7af994 | 2021-05-11 16:53:58 +0200 | [diff] [blame] | 1 | load("//build/bazel/rules:soong_injection.bzl", "soong_injection_repository") |
Jingwen Chen | 1d87e99 | 2021-08-10 05:58:04 +0000 | [diff] [blame] | 2 | load("//build/bazel/rules:make_injection.bzl", "make_injection_repository") |
Rupert Shuttleworth | 5a3495f | 2020-11-02 10:42:29 +0000 | [diff] [blame] | 3 | |
Chris Parsons | 52421f6 | 2021-02-23 16:49:59 -0500 | [diff] [blame] | 4 | register_toolchains( |
zeek | be1d2eb | 2022-03-24 20:47:32 +0800 | [diff] [blame] | 5 | "//prebuilts/build-tools:py_toolchain", |
| 6 | "//prebuilts/clang/host/linux-x86:all", |
Chris Parsons | 52421f6 | 2021-02-23 16:49:59 -0500 | [diff] [blame] | 7 | ) |
Chris Parsons | 6c70b3c | 2021-03-01 19:34:56 -0500 | [diff] [blame] | 8 | |
Jingwen Chen | 4c516ed | 2022-01-24 14:16:07 +0000 | [diff] [blame] | 9 | # This repository provides files that Soong emits during bp2build (other than |
| 10 | # converted BUILD files), mostly .bzl files containing constants to support the |
| 11 | # converted BUILD files. |
Lukacs T. Berki | a7af994 | 2021-05-11 16:53:58 +0200 | [diff] [blame] | 12 | soong_injection_repository(name="soong_injection") |
Jingwen Chen | 240243e | 2021-09-21 08:52:44 +0000 | [diff] [blame] | 13 | |
| 14 | # This is a repository rule to allow Bazel builds to depend on Soong-built |
| 15 | # prebuilts for migration purposes. |
Jingwen Chen | 1d87e99 | 2021-08-10 05:58:04 +0000 | [diff] [blame] | 16 | make_injection_repository( |
| 17 | name = "make_injection", |
Jingwen Chen | 240243e | 2021-09-21 08:52:44 +0000 | [diff] [blame] | 18 | binaries = [ |
Jingwen Chen | e2eec9d | 2021-08-10 10:45:54 +0000 | [diff] [blame] | 19 | # APEX tools |
Wei Li | 175d017 | 2022-01-12 14:34:05 -0800 | [diff] [blame] | 20 | "apex_compression_tool", |
Jingwen Chen | 1d87e99 | 2021-08-10 05:58:04 +0000 | [diff] [blame] | 21 | "apexer", |
Jingwen Chen | 1d87e99 | 2021-08-10 05:58:04 +0000 | [diff] [blame] | 22 | "conv_apex_manifest", |
Jingwen Chen | 240243e | 2021-09-21 08:52:44 +0000 | [diff] [blame] | 23 | "deapexer", |
Jingwen Chen | 1d87e99 | 2021-08-10 05:58:04 +0000 | [diff] [blame] | 24 | "sefcontext_compile", |
| 25 | ], |
Jingwen Chen | 240243e | 2021-09-21 08:52:44 +0000 | [diff] [blame] | 26 | target_module_files = { |
| 27 | # For APEX comparisons |
| 28 | "com.android.tzdata": ["system/apex/com.android.tzdata.apex"], |
| 29 | "com.android.runtime": ["system/apex/com.android.runtime.apex"], |
Jingwen Chen | fe16f4e | 2021-12-14 07:50:42 +0000 | [diff] [blame] | 30 | "com.android.adbd": ["system/apex/com.android.adbd.capex"], |
Jingwen Chen | 240243e | 2021-09-21 08:52:44 +0000 | [diff] [blame] | 31 | "build.bazel.examples.apex.minimal": ["system/product/apex/build.bazel.examples.apex.minimal.apex"], |
| 32 | }, |
Jingwen Chen | 1f141e7 | 2021-12-13 09:58:01 +0000 | [diff] [blame] | 33 | watch_android_bp_files = [ |
| 34 | "//:build/bazel/examples/apex/minimal/Android.bp", # for build.bazel.examples.apex.minimal |
Jingwen Chen | fe16f4e | 2021-12-14 07:50:42 +0000 | [diff] [blame] | 35 | "//:packages/modules/adbd/apex/Android.bp", # for com.android.adbd |
Jingwen Chen | 1f141e7 | 2021-12-13 09:58:01 +0000 | [diff] [blame] | 36 | # TODO(b/210399979) - add the other .bp files to watch for the other modules built in these rule |
| 37 | ], |
Jingwen Chen | 1d87e99 | 2021-08-10 05:58:04 +0000 | [diff] [blame] | 38 | ) |
Lukacs T. Berki | c064ea1 | 2021-04-16 16:23:32 +0200 | [diff] [blame] | 39 | |
Chris Parsons | 6c70b3c | 2021-03-01 19:34:56 -0500 | [diff] [blame] | 40 | local_repository( |
| 41 | name = "rules_cc", |
| 42 | path = "build/bazel/rules_cc", |
| 43 | ) |
| 44 | |
| 45 | local_repository( |
| 46 | name = "bazel_skylib", |
Jingwen Chen | db7db4b | 2021-08-10 12:55:21 +0000 | [diff] [blame] | 47 | path = "external/bazel-skylib", |
Chris Parsons | 6c70b3c | 2021-03-01 19:34:56 -0500 | [diff] [blame] | 48 | ) |
| 49 | |
Alex Humesky | a8d3f7c | 2021-03-18 01:28:38 -0400 | [diff] [blame] | 50 | local_repository( |
| 51 | name = "rules_android", |
| 52 | path = "external/bazelbuild-rules_android", |
| 53 | ) |
| 54 | |
| 55 | register_toolchains( |
| 56 | # For Starlark Android rules |
| 57 | "//prebuilts/sdk:android_default_toolchain", |
| 58 | "//prebuilts/sdk:android_sdk_tools", |
| 59 | |
| 60 | # For native android_binary |
| 61 | "//prebuilts/sdk:android_sdk_tools_for_native_android_binary", |
Romain Jobredeaux | eda68ac | 2021-08-05 20:52:03 +0000 | [diff] [blame] | 62 | |
Jingwen Chen | e2eec9d | 2021-08-10 10:45:54 +0000 | [diff] [blame] | 63 | # For APEX rules |
| 64 | "//build/bazel/rules/apex:all" |
Alex Humesky | a8d3f7c | 2021-03-18 01:28:38 -0400 | [diff] [blame] | 65 | ) |
| 66 | |
| 67 | bind( |
| 68 | name = "databinding_annotation_processor", |
| 69 | actual = "//prebuilts/sdk:compiler_annotation_processor", |
| 70 | ) |
| 71 | |
| 72 | bind( |
| 73 | name = "android/dx_jar_import", |
| 74 | actual = "//prebuilts/sdk:dx_jar_import", |
| 75 | ) |
Romain Jobredeaux | 86499f4 | 2021-08-02 17:22:32 +0000 | [diff] [blame] | 76 | |
| 77 | # The r8.jar in prebuilts/r8 happens to have the d8 classes needed |
| 78 | # for Android app building, whereas the d8.jar in prebuilts/sdk/tools doesn't. |
| 79 | bind( |
| 80 | name = "android/d8_jar_import", |
| 81 | actual = "//prebuilts/r8:r8_jar_import", |
Jingwen Chen | 1d87e99 | 2021-08-10 05:58:04 +0000 | [diff] [blame] | 82 | ) |
Jingwen Chen | 7dc8b3f | 2021-09-28 00:38:23 +0000 | [diff] [blame] | 83 | |
| 84 | # TODO(b/201242197): Avoid downloading remote_coverage_tools (on CI) by creating |
| 85 | # a stub workspace. Test rules (e.g. sh_test) depend on this external dep, but |
| 86 | # we don't support coverage yet. Either vendor the external dep into AOSP, or |
| 87 | # cut the dependency from test rules to the external repo. |
| 88 | local_repository( |
| 89 | name = "remote_coverage_tools", |
| 90 | path = "build/bazel/rules/coverage/remote_coverage_tools", |
| 91 | ) |