• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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