1package {
2    default_applicable_licenses: ["Android-Apache-2.0"],
3}
4
5genrule {
6    name: "pandora_experimental-python-gen-src",
7    tools: [
8        "aprotoc",
9        "protoc-gen-pandora-python",
10    ],
11    cmd: "$(location aprotoc)" +
12        "    -Ipackages/modules/Bluetooth/pandora/interfaces" +
13        "    -Iexternal/pandora/bt-test-interfaces" +
14        "    -Iexternal/protobuf/src" +
15        "    --plugin=protoc-gen-grpc=$(location protoc-gen-pandora-python)" +
16        "    --python_out=$(genDir)" +
17        "    --grpc_out=$(genDir)" +
18        "    $(locations :pandora-protos) $(locations :pandora_experimental-protos) &&" +
19        "touch $(genDir)/pandora_experimental/py.typed &&" +
20        "touch $(genDir)/pandora_experimental/__init__.py",
21    srcs: [
22        ":libprotobuf-internal-protos",
23        ":pandora-protos",
24        ":pandora_experimental-protos",
25    ],
26    out: [
27        "pandora_experimental/__init__.py",
28        "pandora_experimental/_utils.py",
29        "pandora_experimental/asha_grpc.py",
30        "pandora_experimental/asha_grpc_aio.py",
31        "pandora_experimental/asha_pb2.py",
32        "pandora_experimental/asha_pb2.pyi",
33        "pandora_experimental/avrcp_grpc.py",
34        "pandora_experimental/avrcp_grpc_aio.py",
35        "pandora_experimental/avrcp_pb2.py",
36        "pandora_experimental/avrcp_pb2.pyi",
37        "pandora_experimental/dck_grpc.py",
38        "pandora_experimental/dck_grpc_aio.py",
39        "pandora_experimental/dck_pb2.py",
40        "pandora_experimental/dck_pb2.pyi",
41        "pandora_experimental/gatt_grpc.py",
42        "pandora_experimental/gatt_grpc_aio.py",
43        "pandora_experimental/gatt_pb2.py",
44        "pandora_experimental/gatt_pb2.pyi",
45        "pandora_experimental/hfp_grpc.py",
46        "pandora_experimental/hfp_grpc_aio.py",
47        "pandora_experimental/hfp_pb2.py",
48        "pandora_experimental/hfp_pb2.pyi",
49        "pandora_experimental/hid_grpc.py",
50        "pandora_experimental/hid_grpc_aio.py",
51        "pandora_experimental/hid_pb2.py",
52        "pandora_experimental/hid_pb2.pyi",
53        "pandora_experimental/l2cap_grpc.py",
54        "pandora_experimental/l2cap_grpc_aio.py",
55        "pandora_experimental/l2cap_pb2.py",
56        "pandora_experimental/l2cap_pb2.pyi",
57        "pandora_experimental/le_audio_grpc.py",
58        "pandora_experimental/le_audio_grpc_aio.py",
59        "pandora_experimental/le_audio_pb2.py",
60        "pandora_experimental/le_audio_pb2.pyi",
61        "pandora_experimental/map_grpc.py",
62        "pandora_experimental/map_grpc_aio.py",
63        "pandora_experimental/map_pb2.py",
64        "pandora_experimental/map_pb2.pyi",
65        "pandora_experimental/mediaplayer_grpc.py",
66        "pandora_experimental/mediaplayer_grpc_aio.py",
67        "pandora_experimental/mediaplayer_pb2.py",
68        "pandora_experimental/mediaplayer_pb2.pyi",
69        "pandora_experimental/opp_grpc.py",
70        "pandora_experimental/opp_grpc_aio.py",
71        "pandora_experimental/opp_pb2.py",
72        "pandora_experimental/opp_pb2.pyi",
73        "pandora_experimental/os_grpc.py",
74        "pandora_experimental/os_grpc_aio.py",
75        "pandora_experimental/os_pb2.py",
76        "pandora_experimental/os_pb2.pyi",
77        "pandora_experimental/pan_grpc.py",
78        "pandora_experimental/pan_grpc_aio.py",
79        "pandora_experimental/pan_pb2.py",
80        "pandora_experimental/pan_pb2.pyi",
81        "pandora_experimental/pbap_grpc.py",
82        "pandora_experimental/pbap_grpc_aio.py",
83        "pandora_experimental/pbap_pb2.py",
84        "pandora_experimental/pbap_pb2.pyi",
85        "pandora_experimental/py.typed",
86        "pandora_experimental/rfcomm_grpc.py",
87        "pandora_experimental/rfcomm_grpc_aio.py",
88        "pandora_experimental/rfcomm_pb2.py",
89        "pandora_experimental/rfcomm_pb2.pyi",
90    ],
91}
92
93filegroup {
94    name: "pandora_experimental-python-src",
95    srcs: [
96        ":pandora_experimental-python-gen-src",
97    ],
98    exclude_srcs: [
99        ":pandora_experimental-python-stubs",
100    ],
101}
102
103filegroup {
104    name: "pandora_experimental-python-stubs",
105    srcs: [
106        ":pandora_experimental-python-gen-src{pandora_experimental/asha_pb2.pyi}",
107        ":pandora_experimental-python-gen-src{pandora_experimental/avrcp_pb2.pyi}",
108        ":pandora_experimental-python-gen-src{pandora_experimental/dck_pb2.pyi}",
109        ":pandora_experimental-python-gen-src{pandora_experimental/gatt_pb2.pyi}",
110        ":pandora_experimental-python-gen-src{pandora_experimental/hfp_pb2.pyi}",
111        ":pandora_experimental-python-gen-src{pandora_experimental/hid_pb2.pyi}",
112        ":pandora_experimental-python-gen-src{pandora_experimental/l2cap_pb2.pyi}",
113        ":pandora_experimental-python-gen-src{pandora_experimental/le_audio_pb2.pyi}",
114        ":pandora_experimental-python-gen-src{pandora_experimental/map_pb2.pyi}",
115        ":pandora_experimental-python-gen-src{pandora_experimental/mediaplayer_pb2.pyi}",
116        ":pandora_experimental-python-gen-src{pandora_experimental/opp_pb2.pyi}",
117        ":pandora_experimental-python-gen-src{pandora_experimental/os_pb2.pyi}",
118        ":pandora_experimental-python-gen-src{pandora_experimental/pan_pb2.pyi}",
119        ":pandora_experimental-python-gen-src{pandora_experimental/pbap_pb2.pyi}",
120        ":pandora_experimental-python-gen-src{pandora_experimental/py.typed}",
121        ":pandora_experimental-python-gen-src{pandora_experimental/rfcomm_pb2.pyi}",
122    ],
123}
124
125python_library_host {
126    name: "pandora_experimental-python",
127    srcs: [":pandora_experimental-python-src"],
128    libs: ["pandora-python"],
129    data: [
130        ":pandora_experimental-python-stubs",
131    ],
132}
133