aboutsummaryrefslogtreecommitdiff
path: root/python/Android.bp
blob: a356076fefc6c07a467ca19110de582b141ffef2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
package {
    default_applicable_licenses: [
        "external_pandora_bt-test-interfaces_license",
    ],
}

genrule {
    name: "protoc-gen-pandora-python-src",
    srcs: ["_build/protoc-gen-custom_grpc"],
    cmd: "cp $(in) $(out)",
    out: ["protoc-gen-custom_grpc.py"],
}

python_binary_host {
    name: "protoc-gen-pandora-python",
    main: "protoc-gen-custom_grpc.py",
    srcs: [":protoc-gen-pandora-python-src"],
    libs: ["libprotobuf-python"],
}

genrule {
    name: "pandora-python-gen-src",
    tools: [
        "aprotoc",
        "protoc-gen-pandora-python"
    ],
    cmd: "$(location aprotoc)" +
         "    -Iexternal/pandora/bt-test-interfaces" +
         "    -Iexternal/protobuf/src" +
         "    --plugin=protoc-gen-grpc=$(location protoc-gen-pandora-python)" +
         "    --python_out=$(genDir)" +
         "    --grpc_out=$(genDir)" +
         "    $(locations :pandora-protos) &&" +
         "touch $(genDir)/pandora/py.typed &&" +
         "touch $(genDir)/pandora/__init__.py",
    srcs: [
        ":pandora-protos",
        ":libprotobuf-internal-protos",
    ],
    out: [
        "pandora/py.typed",
        "pandora/__init__.py",
        "pandora/_utils.py",
        "pandora/a2dp_grpc.py",
        "pandora/a2dp_grpc_aio.py",
        "pandora/a2dp_pb2.py",
        "pandora/a2dp_pb2.pyi",
        "pandora/host_grpc.py",
        "pandora/host_grpc_aio.py",
        "pandora/host_pb2.py",
        "pandora/host_pb2.pyi",
        "pandora/l2cap_grpc.py",
        "pandora/l2cap_grpc_aio.py",
        "pandora/l2cap_pb2.py",
        "pandora/l2cap_pb2.pyi",
        "pandora/security_grpc.py",
        "pandora/security_grpc_aio.py",
        "pandora/security_pb2.py",
        "pandora/security_pb2.pyi",
    ]
}

filegroup {
    name: "pandora-python-src",
    srcs: [
        ":pandora-python-gen-src"
    ],
    exclude_srcs: [
        ":pandora-python-stubs",
    ]
}

filegroup {
    name: "pandora-python-stubs",
    srcs: [
        ":pandora-python-gen-src{pandora/py.typed}",
        ":pandora-python-gen-src{pandora/a2dp_pb2.pyi}",
        ":pandora-python-gen-src{pandora/host_pb2.pyi}",
        ":pandora-python-gen-src{pandora/l2cap_pb2.pyi}",
        ":pandora-python-gen-src{pandora/security_pb2.pyi}",
    ],
}

python_library_host {
    name: "pandora-python",
    srcs: [
        ":pandora-python-src",
    ],
    data: [
        ":pandora-python-stubs"
    ]
}