| load("//build/bazel/rules:soong_injection.bzl", "soong_injection_repository") |
| load("//build/bazel/rules:make_injection.bzl", "make_injection_repository") |
| |
| register_toolchains( |
| "//prebuilts/build-tools:py_toolchain", |
| "//prebuilts/clang/host/linux-x86:all", |
| ) |
| |
| # This repository provides files that Soong emits during bp2build (other than |
| # converted BUILD files), mostly .bzl files containing constants to support the |
| # converted BUILD files. |
| soong_injection_repository(name="soong_injection") |
| |
| # This is a repository rule to allow Bazel builds to depend on Soong-built |
| # prebuilts for migration purposes. |
| make_injection_repository( |
| name = "make_injection", |
| binaries = [ |
| # APEX tools |
| "apex_compression_tool", |
| "apexer", |
| "conv_apex_manifest", |
| "deapexer", |
| "sefcontext_compile", |
| ], |
| target_module_files = { |
| # For APEX comparisons |
| "com.android.tzdata": ["system/apex/com.android.tzdata.apex"], |
| "com.android.runtime": ["system/apex/com.android.runtime.apex"], |
| "com.android.adbd": ["system/apex/com.android.adbd.capex"], |
| "build.bazel.examples.apex.minimal": ["system/product/apex/build.bazel.examples.apex.minimal.apex"], |
| }, |
| watch_android_bp_files = [ |
| "//:build/bazel/examples/apex/minimal/Android.bp", # for build.bazel.examples.apex.minimal |
| "//:packages/modules/adbd/apex/Android.bp", # for com.android.adbd |
| # TODO(b/210399979) - add the other .bp files to watch for the other modules built in these rule |
| ], |
| ) |
| |
| local_repository( |
| name = "rules_cc", |
| path = "build/bazel/rules_cc", |
| ) |
| |
| local_repository( |
| name = "bazel_skylib", |
| path = "external/bazel-skylib", |
| ) |
| |
| local_repository( |
| name = "rules_android", |
| path = "external/bazelbuild-rules_android", |
| ) |
| |
| register_toolchains( |
| # For Starlark Android rules |
| "//prebuilts/sdk:android_default_toolchain", |
| "//prebuilts/sdk:android_sdk_tools", |
| |
| # For native android_binary |
| "//prebuilts/sdk:android_sdk_tools_for_native_android_binary", |
| |
| # For APEX rules |
| "//build/bazel/rules/apex:all" |
| ) |
| |
| bind( |
| name = "databinding_annotation_processor", |
| actual = "//prebuilts/sdk:compiler_annotation_processor", |
| ) |
| |
| bind( |
| name = "android/dx_jar_import", |
| actual = "//prebuilts/sdk:dx_jar_import", |
| ) |
| |
| # The r8.jar in prebuilts/r8 happens to have the d8 classes needed |
| # for Android app building, whereas the d8.jar in prebuilts/sdk/tools doesn't. |
| bind( |
| name = "android/d8_jar_import", |
| actual = "//prebuilts/r8:r8_jar_import", |
| ) |
| |
| # TODO(b/201242197): Avoid downloading remote_coverage_tools (on CI) by creating |
| # a stub workspace. Test rules (e.g. sh_test) depend on this external dep, but |
| # we don't support coverage yet. Either vendor the external dep into AOSP, or |
| # cut the dependency from test rules to the external repo. |
| local_repository( |
| name = "remote_coverage_tools", |
| path = "build/bazel/rules/coverage/remote_coverage_tools", |
| ) |