blob: a5373e466595e8464bda1de61dae794ea1c01bc4 [file] [log] [blame]
toplevel_output_directories(paths = ["out"])
load("//build/bazel/rules:lunch.bzl", "lunch")
load("//build/bazel/rules:soong_injection.bzl", "soong_injection_repository")
load("//build/bazel/rules:make_injection.bzl", "make_injection_repository")
lunch()
register_toolchains(
"//prebuilts/clang/host/linux-x86:all"
)
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
"aapt2",
"apexer",
"avbtool",
"conv_apex_manifest",
"deapexer",
"debugfs",
"e2fsdroid",
"mke2fs",
"resize2fs",
"sefcontext_compile",
"signapk",
],
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.apex"],
"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
# 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",
)