1load("//build/bazel/rules/apex:toolchain.bzl", "apex_toolchain") 2load("@bazel_skylib//rules:common_settings.bzl", "string_setting", "string_list_setting") 3 4string_setting( 5 name = "apex_name", 6 build_setting_default = "", 7 visibility = ["//visibility:public"], 8) 9 10string_setting( 11 name = "min_sdk_version", 12 build_setting_default = "", 13 visibility = ["//visibility:public"], 14) 15 16string_list_setting( 17 name = "apex_direct_deps", 18 build_setting_default = [], 19 visibility = ["//visibility:public"], 20) 21 22toolchain_type(name = "apex_toolchain_type") 23 24apex_toolchain( 25 name = "prebuilt_apex_toolchain", 26 aapt2 = "//prebuilts/sdk/tools:linux/bin/aapt2", 27 avbtool = "//external/avb:avbtool", 28 apexer = "@make_injection//:host/linux-x86/bin/apexer", 29 mke2fs = "//external/e2fsprogs/misc:mke2fs", 30 resize2fs = "//external/e2fsprogs/resize:resize2fs", 31 e2fsdroid = "//external/e2fsprogs/contrib/android:e2fsdroid", 32 sefcontext_compile = "@make_injection//:host/linux-x86/bin/sefcontext_compile", 33 conv_apex_manifest = "@make_injection//:host/linux-x86/bin/conv_apex_manifest", 34 android_jar = "//prebuilts/sdk/current:public/android.jar", 35 apex_compression_tool = "@make_injection//:host/linux-x86/bin/apex_compression_tool", 36 soong_zip = "//prebuilts/build-tools:linux-x86/bin/soong_zip", 37) 38 39toolchain( 40 name = "prebuilt_apex_toolchain_def", 41 exec_compatible_with = [ 42 "//build/bazel/platforms/arch:x86_64", 43 "//build/bazel/platforms/os:linux", 44 ], 45 target_compatible_with = [ 46 "//build/bazel/platforms/os:android", 47 ], 48 toolchain = ":prebuilt_apex_toolchain", 49 toolchain_type = "//build/bazel/rules/apex:apex_toolchain_type", 50) 51 52py_binary( 53 name = "bazel_apexer_wrapper", 54 srcs = ["bazel_apexer_wrapper.py"], 55 visibility = ["//visibility:public"], 56) 57 58sh_test( 59 name = "bazel_apexer_wrapper_test", 60 srcs = ["bazel_apexer_wrapper_test.sh"], 61 deps = ["@bazel_tools//tools/bash/runfiles"], 62 data = [ 63 ":bazel_apexer_wrapper", 64 "test.pem", 65 "//external/avb:avbtool", 66 "//external/e2fsprogs/contrib/android:e2fsdroid", 67 "//external/e2fsprogs/misc:mke2fs", 68 "//external/e2fsprogs/resize:resize2fs", 69 "//external/e2fsprogs/debugfs:debugfs", 70 "//prebuilts/build-tools:linux-x86/bin/soong_zip", 71 "//prebuilts/sdk/tools:linux/bin/aapt2", 72 "@make_injection//:host/linux-x86/bin/apex_compression_tool", 73 "@make_injection//:host/linux-x86/bin/apexer", 74 "@make_injection//:host/linux-x86/bin/conv_apex_manifest", 75 "@make_injection//:host/linux-x86/bin/deapexer", 76 "@make_injection//:host/linux-x86/bin/sefcontext_compile", 77 "//prebuilts/sdk/current:public/android.jar", 78 ] 79) 80