xref: /aosp_15_r20/tools/netsim/proto/Android.bp (revision cf78ab8cffb8fc9207af348f23af247fb04370a6)
1*cf78ab8cSAndroid Build Coastguard Workerpackage {
2*cf78ab8cSAndroid Build Coastguard Worker    // See: http://go/android-license-faq
3*cf78ab8cSAndroid Build Coastguard Worker    // A large-scale-change added 'default_applicable_licenses' to import
4*cf78ab8cSAndroid Build Coastguard Worker    // all of the 'license_kinds' from "tools_netsim_license"
5*cf78ab8cSAndroid Build Coastguard Worker    // to get the below license kinds:
6*cf78ab8cSAndroid Build Coastguard Worker    //   SPDX-license-identifier-Apache-2.0
7*cf78ab8cSAndroid Build Coastguard Worker    default_applicable_licenses: ["tools_netsim_license"],
8*cf78ab8cSAndroid Build Coastguard Worker}
9*cf78ab8cSAndroid Build Coastguard Worker
10*cf78ab8cSAndroid Build Coastguard Workerfilegroup {
11*cf78ab8cSAndroid Build Coastguard Worker    name: "netsim-protos",
12*cf78ab8cSAndroid Build Coastguard Worker    srcs: [
13*cf78ab8cSAndroid Build Coastguard Worker        "netsim/common.proto",
14*cf78ab8cSAndroid Build Coastguard Worker        "netsim/frontend.proto",
15*cf78ab8cSAndroid Build Coastguard Worker        "netsim/hci_packet.proto",
16*cf78ab8cSAndroid Build Coastguard Worker        "netsim/model.proto",
17*cf78ab8cSAndroid Build Coastguard Worker        "netsim/packet_streamer.proto",
18*cf78ab8cSAndroid Build Coastguard Worker        "netsim/startup.proto",
19*cf78ab8cSAndroid Build Coastguard Worker        "netsim/stats.proto",
20*cf78ab8cSAndroid Build Coastguard Worker    ],
21*cf78ab8cSAndroid Build Coastguard Worker}
22*cf78ab8cSAndroid Build Coastguard Worker
23*cf78ab8cSAndroid Build Coastguard Workergenrule_defaults {
24*cf78ab8cSAndroid Build Coastguard Worker    name: "netsim-grpc-gen-defaults",
25*cf78ab8cSAndroid Build Coastguard Worker    tools: [
26*cf78ab8cSAndroid Build Coastguard Worker        "aprotoc",
27*cf78ab8cSAndroid Build Coastguard Worker        "protoc-gen-grpc-cpp-plugin",
28*cf78ab8cSAndroid Build Coastguard Worker    ],
29*cf78ab8cSAndroid Build Coastguard Worker    cmd: "$(location aprotoc)" +
30*cf78ab8cSAndroid Build Coastguard Worker        "    -Itools/netsim/proto" +
31*cf78ab8cSAndroid Build Coastguard Worker        "    -Iexternal/protobuf/src" +
32*cf78ab8cSAndroid Build Coastguard Worker        "    -Ipackages/modules/Bluetooth/tools/rootcanal/proto" +
33*cf78ab8cSAndroid Build Coastguard Worker        "    --plugin=protoc-gen-grpc=$(location protoc-gen-grpc-cpp-plugin)" +
34*cf78ab8cSAndroid Build Coastguard Worker        "    --grpc_out=$(genDir)" +
35*cf78ab8cSAndroid Build Coastguard Worker        "    --cpp_out=$(genDir)" +
36*cf78ab8cSAndroid Build Coastguard Worker        "    $(locations :netsim-protos)",
37*cf78ab8cSAndroid Build Coastguard Worker    srcs: [
38*cf78ab8cSAndroid Build Coastguard Worker        ":libprotobuf-internal-protos",
39*cf78ab8cSAndroid Build Coastguard Worker        ":netsim-protos",
40*cf78ab8cSAndroid Build Coastguard Worker        ":rootcanal-protos",
41*cf78ab8cSAndroid Build Coastguard Worker    ],
42*cf78ab8cSAndroid Build Coastguard Worker}
43*cf78ab8cSAndroid Build Coastguard Worker
44*cf78ab8cSAndroid Build Coastguard Workergenrule {
45*cf78ab8cSAndroid Build Coastguard Worker    name: "FrontendStub_h",
46*cf78ab8cSAndroid Build Coastguard Worker    defaults: ["netsim-grpc-gen-defaults"],
47*cf78ab8cSAndroid Build Coastguard Worker    out: ["netsim/frontend.grpc.pb.h"],
48*cf78ab8cSAndroid Build Coastguard Worker}
49*cf78ab8cSAndroid Build Coastguard Worker
50*cf78ab8cSAndroid Build Coastguard Workergenrule {
51*cf78ab8cSAndroid Build Coastguard Worker    name: "FrontendStub_cc",
52*cf78ab8cSAndroid Build Coastguard Worker    defaults: ["netsim-grpc-gen-defaults"],
53*cf78ab8cSAndroid Build Coastguard Worker    out: ["netsim/frontend.grpc.pb.cc"],
54*cf78ab8cSAndroid Build Coastguard Worker}
55*cf78ab8cSAndroid Build Coastguard Worker
56*cf78ab8cSAndroid Build Coastguard Workergenrule {
57*cf78ab8cSAndroid Build Coastguard Worker    name: "PacketStreamerStub_h",
58*cf78ab8cSAndroid Build Coastguard Worker    defaults: ["netsim-grpc-gen-defaults"],
59*cf78ab8cSAndroid Build Coastguard Worker    out: ["netsim/packet_streamer.grpc.pb.h"],
60*cf78ab8cSAndroid Build Coastguard Worker}
61*cf78ab8cSAndroid Build Coastguard Worker
62*cf78ab8cSAndroid Build Coastguard Workergenrule {
63*cf78ab8cSAndroid Build Coastguard Worker    name: "PacketStreamerStub_cc",
64*cf78ab8cSAndroid Build Coastguard Worker    defaults: ["netsim-grpc-gen-defaults"],
65*cf78ab8cSAndroid Build Coastguard Worker    out: ["netsim/packet_streamer.grpc.pb.cc"],
66*cf78ab8cSAndroid Build Coastguard Worker}
67*cf78ab8cSAndroid Build Coastguard Worker
68*cf78ab8cSAndroid Build Coastguard Workercc_library {
69*cf78ab8cSAndroid Build Coastguard Worker    name: "lib-netsim-frontend-proto",
70*cf78ab8cSAndroid Build Coastguard Worker    host_supported: true,
71*cf78ab8cSAndroid Build Coastguard Worker    proto: {
72*cf78ab8cSAndroid Build Coastguard Worker        export_proto_headers: true,
73*cf78ab8cSAndroid Build Coastguard Worker        type: "full",
74*cf78ab8cSAndroid Build Coastguard Worker        canonical_path_from_root: false,
75*cf78ab8cSAndroid Build Coastguard Worker        include_dirs: [
76*cf78ab8cSAndroid Build Coastguard Worker            "external/protobuf/src",
77*cf78ab8cSAndroid Build Coastguard Worker            "tools/netsim/proto",
78*cf78ab8cSAndroid Build Coastguard Worker            "packages/modules/Bluetooth/tools/rootcanal/proto",
79*cf78ab8cSAndroid Build Coastguard Worker        ],
80*cf78ab8cSAndroid Build Coastguard Worker    },
81*cf78ab8cSAndroid Build Coastguard Worker    shared_libs: [
82*cf78ab8cSAndroid Build Coastguard Worker        "libprotobuf-cpp-full",
83*cf78ab8cSAndroid Build Coastguard Worker    ],
84*cf78ab8cSAndroid Build Coastguard Worker    srcs: [
85*cf78ab8cSAndroid Build Coastguard Worker        "netsim/common.proto",
86*cf78ab8cSAndroid Build Coastguard Worker        "netsim/config.proto",
87*cf78ab8cSAndroid Build Coastguard Worker        "netsim/frontend.proto",
88*cf78ab8cSAndroid Build Coastguard Worker        "netsim/hci_packet.proto",
89*cf78ab8cSAndroid Build Coastguard Worker        "netsim/model.proto",
90*cf78ab8cSAndroid Build Coastguard Worker        "netsim/startup.proto",
91*cf78ab8cSAndroid Build Coastguard Worker        ":rootcanal-protos",
92*cf78ab8cSAndroid Build Coastguard Worker    ],
93*cf78ab8cSAndroid Build Coastguard Worker}
94*cf78ab8cSAndroid Build Coastguard Worker
95*cf78ab8cSAndroid Build Coastguard Workercc_library {
96*cf78ab8cSAndroid Build Coastguard Worker    name: "lib-netsimd-proto",
97*cf78ab8cSAndroid Build Coastguard Worker    host_supported: true,
98*cf78ab8cSAndroid Build Coastguard Worker    proto: {
99*cf78ab8cSAndroid Build Coastguard Worker        export_proto_headers: true,
100*cf78ab8cSAndroid Build Coastguard Worker        type: "full",
101*cf78ab8cSAndroid Build Coastguard Worker        canonical_path_from_root: false,
102*cf78ab8cSAndroid Build Coastguard Worker        include_dirs: [
103*cf78ab8cSAndroid Build Coastguard Worker            "external/protobuf/src",
104*cf78ab8cSAndroid Build Coastguard Worker            "tools/netsim/proto",
105*cf78ab8cSAndroid Build Coastguard Worker            "packages/modules/Bluetooth/tools/rootcanal/proto",
106*cf78ab8cSAndroid Build Coastguard Worker        ],
107*cf78ab8cSAndroid Build Coastguard Worker    },
108*cf78ab8cSAndroid Build Coastguard Worker    srcs: [
109*cf78ab8cSAndroid Build Coastguard Worker        "netsim/common.proto",
110*cf78ab8cSAndroid Build Coastguard Worker        "netsim/config.proto",
111*cf78ab8cSAndroid Build Coastguard Worker        "netsim/frontend.proto",
112*cf78ab8cSAndroid Build Coastguard Worker        "netsim/hci_packet.proto",
113*cf78ab8cSAndroid Build Coastguard Worker        "netsim/model.proto",
114*cf78ab8cSAndroid Build Coastguard Worker        "netsim/packet_streamer.proto",
115*cf78ab8cSAndroid Build Coastguard Worker        "netsim/startup.proto",
116*cf78ab8cSAndroid Build Coastguard Worker        "netsim/stats.proto",
117*cf78ab8cSAndroid Build Coastguard Worker        ":rootcanal-protos",
118*cf78ab8cSAndroid Build Coastguard Worker    ],
119*cf78ab8cSAndroid Build Coastguard Worker}
120*cf78ab8cSAndroid Build Coastguard Worker
121*cf78ab8cSAndroid Build Coastguard Workergenrule {
122*cf78ab8cSAndroid Build Coastguard Worker    name: "netsim-python-src",
123*cf78ab8cSAndroid Build Coastguard Worker    tools: [
124*cf78ab8cSAndroid Build Coastguard Worker        "aprotoc",
125*cf78ab8cSAndroid Build Coastguard Worker        "protoc-gen-grpc-python-plugin",
126*cf78ab8cSAndroid Build Coastguard Worker    ],
127*cf78ab8cSAndroid Build Coastguard Worker    cmd: "$(location aprotoc)" +
128*cf78ab8cSAndroid Build Coastguard Worker        "    -Itools/netsim/proto" +
129*cf78ab8cSAndroid Build Coastguard Worker        "    -Ipackages/modules/Bluetooth/tools/rootcanal/proto" +
130*cf78ab8cSAndroid Build Coastguard Worker        "    -Iexternal/protobuf/src" +
131*cf78ab8cSAndroid Build Coastguard Worker        "    --plugin=protoc-gen-grpc=$(location protoc-gen-grpc-python-plugin)" +
132*cf78ab8cSAndroid Build Coastguard Worker        "    --python_out=$(genDir)" +
133*cf78ab8cSAndroid Build Coastguard Worker        "    --grpc_out=$(genDir)" +
134*cf78ab8cSAndroid Build Coastguard Worker        "    $(locations :netsim-protos)" +
135*cf78ab8cSAndroid Build Coastguard Worker        "    $(locations :rootcanal-protos) &&" +
136*cf78ab8cSAndroid Build Coastguard Worker        "touch $(genDir)/netsim/__init__.py",
137*cf78ab8cSAndroid Build Coastguard Worker    srcs: [
138*cf78ab8cSAndroid Build Coastguard Worker        ":libprotobuf-internal-protos",
139*cf78ab8cSAndroid Build Coastguard Worker        ":netsim-protos",
140*cf78ab8cSAndroid Build Coastguard Worker        ":rootcanal-protos",
141*cf78ab8cSAndroid Build Coastguard Worker    ],
142*cf78ab8cSAndroid Build Coastguard Worker    out: [
143*cf78ab8cSAndroid Build Coastguard Worker        "netsim/__init__.py",
144*cf78ab8cSAndroid Build Coastguard Worker        "netsim/common_pb2.py",
145*cf78ab8cSAndroid Build Coastguard Worker        "netsim/common_pb2_grpc.py",
146*cf78ab8cSAndroid Build Coastguard Worker        "netsim/frontend_pb2.py",
147*cf78ab8cSAndroid Build Coastguard Worker        "netsim/frontend_pb2_grpc.py",
148*cf78ab8cSAndroid Build Coastguard Worker        "netsim/hci_packet_pb2.py",
149*cf78ab8cSAndroid Build Coastguard Worker        "netsim/hci_packet_pb2_grpc.py",
150*cf78ab8cSAndroid Build Coastguard Worker        "netsim/model_pb2.py",
151*cf78ab8cSAndroid Build Coastguard Worker        "netsim/model_pb2_grpc.py",
152*cf78ab8cSAndroid Build Coastguard Worker        "netsim/startup_pb2.py",
153*cf78ab8cSAndroid Build Coastguard Worker        "netsim/startup_pb2_grpc.py",
154*cf78ab8cSAndroid Build Coastguard Worker        "rootcanal/configuration_pb2.py",
155*cf78ab8cSAndroid Build Coastguard Worker    ],
156*cf78ab8cSAndroid Build Coastguard Worker    visibility: [
157*cf78ab8cSAndroid Build Coastguard Worker        "//packages/modules/Bluetooth/android/pandora/mmi2grpc",
158*cf78ab8cSAndroid Build Coastguard Worker    ],
159*cf78ab8cSAndroid Build Coastguard Worker}
160