92 lines
2.9 KiB
Plaintext
92 lines
2.9 KiB
Plaintext
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",
|
|
)
|