xref: /aosp_15_r20/build/bazel/vendor/google/BUILD (revision 7594170e27e0732bc44b93d1440d87a54b6ffe7c)
1*7594170eSAndroid Build Coastguard Workerload("//build/bazel/rules/apex:apex_aab.bzl", "apex_aab")
2*7594170eSAndroid Build Coastguard Worker
3*7594170eSAndroid Build Coastguard Workerpackage(default_visibility = ["//build/bazel/tests/apex:__subpackages__"])
4*7594170eSAndroid Build Coastguard Worker
5*7594170eSAndroid Build Coastguard Worker# This package contains the multi-architecture aab and apks packages of
6*7594170eSAndroid Build Coastguard Worker# Bazel-buildable Mainline modules. These are exclusively used for development
7*7594170eSAndroid Build Coastguard Worker# and testing purposes and not for distribution.
8*7594170eSAndroid Build Coastguard Worker#
9*7594170eSAndroid Build Coastguard Worker# We have added testonly and visibility guardrails to ensure that these do not
10*7594170eSAndroid Build Coastguard Worker# get used unintentionally.
11*7594170eSAndroid Build Coastguard Worker
12*7594170eSAndroid Build Coastguard Workermodules = [
13*7594170eSAndroid Build Coastguard Worker    "//build/bazel/examples/apex/minimal:build.bazel.examples.apex.minimal",
14*7594170eSAndroid Build Coastguard Worker    "//frameworks/av/apex:com.android.media.swcodec",
15*7594170eSAndroid Build Coastguard Worker    "//packages/modules/NeuralNetworks/apex:com.android.neuralnetworks",
16*7594170eSAndroid Build Coastguard Worker    "//packages/modules/adb/apex:com.android.adbd",
17*7594170eSAndroid Build Coastguard Worker    "//system/timezone/apex:com.android.tzdata",
18*7594170eSAndroid Build Coastguard Worker]
19*7594170eSAndroid Build Coastguard Worker
20*7594170eSAndroid Build Coastguard Workername_label_map = {module[module.index(":") + 1:]: module for module in modules}
21*7594170eSAndroid Build Coastguard Worker
22*7594170eSAndroid Build Coastguard Worker[
23*7594170eSAndroid Build Coastguard Worker    (
24*7594170eSAndroid Build Coastguard Worker        apex_aab(
25*7594170eSAndroid Build Coastguard Worker            name = "%s_apex_aab" % name,
26*7594170eSAndroid Build Coastguard Worker            testonly = True,
27*7594170eSAndroid Build Coastguard Worker            mainline_module = label,
28*7594170eSAndroid Build Coastguard Worker        ),
29*7594170eSAndroid Build Coastguard Worker        genrule(
30*7594170eSAndroid Build Coastguard Worker            name = "%s_apks" % name,
31*7594170eSAndroid Build Coastguard Worker            testonly = True,
32*7594170eSAndroid Build Coastguard Worker            srcs = ["%s_apex_aab" % name],
33*7594170eSAndroid Build Coastguard Worker            outs = ["%s.apks" % name],
34*7594170eSAndroid Build Coastguard Worker            cmd = "$(location //prebuilts/bundletool) build-apks --bundle $(location %s_apex_aab) --output $@" % name,
35*7594170eSAndroid Build Coastguard Worker            tools = ["//prebuilts/bundletool"],
36*7594170eSAndroid Build Coastguard Worker        ),
37*7594170eSAndroid Build Coastguard Worker    )
38*7594170eSAndroid Build Coastguard Worker    for name, label in name_label_map.items()
39*7594170eSAndroid Build Coastguard Worker]
40*7594170eSAndroid Build Coastguard Worker
41*7594170eSAndroid Build Coastguard Workerfilegroup(
42*7594170eSAndroid Build Coastguard Worker    name = "mainline_modules",
43*7594170eSAndroid Build Coastguard Worker    testonly = True,
44*7594170eSAndroid Build Coastguard Worker    srcs = ["%s_apex_aab" % name for name, label in name_label_map.items()],
45*7594170eSAndroid Build Coastguard Worker)
46