1package { 2 default_applicable_licenses: [ 3 "external_pandora_bt-test-interfaces_license", 4 ], 5} 6 7genrule { 8 name: "protoc-gen-pandora-python-src", 9 srcs: ["_build/protoc-gen-custom_grpc"], 10 cmd: "cp $(in) $(out)", 11 out: ["protoc-gen-custom_grpc.py"], 12} 13 14python_binary_host { 15 name: "protoc-gen-pandora-python", 16 main: "protoc-gen-custom_grpc.py", 17 srcs: [":protoc-gen-pandora-python-src"], 18 libs: ["libprotobuf-python"], 19} 20 21genrule { 22 name: "pandora-python-gen-src", 23 tools: [ 24 "aprotoc", 25 "protoc-gen-pandora-python" 26 ], 27 cmd: "$(location aprotoc)" + 28 " -Iexternal/pandora/bt-test-interfaces" + 29 " -Iexternal/protobuf/src" + 30 " --plugin=protoc-gen-grpc=$(location protoc-gen-pandora-python)" + 31 " --python_out=$(genDir)" + 32 " --grpc_out=$(genDir)" + 33 " $(in) &&" + 34 "touch $(genDir)/pandora/py.typed &&" + 35 "touch $(genDir)/pandora/__init__.py", 36 srcs: [":pandora-protos"], 37 out: [ 38 "pandora/py.typed", 39 "pandora/__init__.py", 40 "pandora/_utils.py", 41 "pandora/host_grpc.py", 42 "pandora/host_grpc_aio.py", 43 "pandora/host_pb2.py", 44 "pandora/host_pb2.pyi", 45 "pandora/security_grpc.py", 46 "pandora/security_grpc_aio.py", 47 "pandora/security_pb2.py", 48 "pandora/security_pb2.pyi", 49 ] 50} 51 52filegroup { 53 name: "pandora-python-src", 54 srcs: [ 55 ":pandora-python-gen-src" 56 ], 57 exclude_srcs: [ 58 ":pandora-python-stubs", 59 ] 60} 61 62filegroup { 63 name: "pandora-python-stubs", 64 srcs: [ 65 ":pandora-python-gen-src{pandora/py.typed}", 66 ":pandora-python-gen-src{pandora/host_pb2.pyi}", 67 ":pandora-python-gen-src{pandora/security_pb2.pyi}", 68 ], 69} 70 71python_library_host { 72 name: "pandora-python", 73 srcs: [ 74 ":pandora-python-src", 75 ], 76 data: [ 77 ":pandora-python-stubs" 78 ] 79}