1*d57664e9SAndroid Build Coastguard Worker// Copyright (C) 2021 The Android Open Source Project 2*d57664e9SAndroid Build Coastguard Worker// 3*d57664e9SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*d57664e9SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*d57664e9SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*d57664e9SAndroid Build Coastguard Worker// 7*d57664e9SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*d57664e9SAndroid Build Coastguard Worker// 9*d57664e9SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*d57664e9SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*d57664e9SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*d57664e9SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*d57664e9SAndroid Build Coastguard Worker// limitations under the License. 14*d57664e9SAndroid Build Coastguard Worker 15*d57664e9SAndroid Build Coastguard Workergensrcs { 16*d57664e9SAndroid Build Coastguard Worker name: "framework-javastream-protos", 17*d57664e9SAndroid Build Coastguard Worker 18*d57664e9SAndroid Build Coastguard Worker tools: [ 19*d57664e9SAndroid Build Coastguard Worker "aprotoc", 20*d57664e9SAndroid Build Coastguard Worker "protoc-gen-javastream", 21*d57664e9SAndroid Build Coastguard Worker "soong_zip", 22*d57664e9SAndroid Build Coastguard Worker ], 23*d57664e9SAndroid Build Coastguard Worker 24*d57664e9SAndroid Build Coastguard Worker cmd: "mkdir -p $(genDir)/$(in) " + 25*d57664e9SAndroid Build Coastguard Worker "&& $(location aprotoc) " + 26*d57664e9SAndroid Build Coastguard Worker " --plugin=$(location protoc-gen-javastream) " + 27*d57664e9SAndroid Build Coastguard Worker " --javastream_out=$(genDir)/$(in) " + 28*d57664e9SAndroid Build Coastguard Worker " -Iexternal/protobuf/src " + 29*d57664e9SAndroid Build Coastguard Worker " -I . " + 30*d57664e9SAndroid Build Coastguard Worker " $(in) " + 31*d57664e9SAndroid Build Coastguard Worker "&& $(location soong_zip) -jar -o $(out) -C $(genDir)/$(in) -D $(genDir)/$(in)", 32*d57664e9SAndroid Build Coastguard Worker 33*d57664e9SAndroid Build Coastguard Worker srcs: [ 34*d57664e9SAndroid Build Coastguard Worker ":aconfigd_protos", 35*d57664e9SAndroid Build Coastguard Worker ":ipconnectivity-proto-src", 36*d57664e9SAndroid Build Coastguard Worker ":libstats_atom_enum_protos", 37*d57664e9SAndroid Build Coastguard Worker ":libstats_atom_message_protos", 38*d57664e9SAndroid Build Coastguard Worker ":libtombstone_proto-src", 39*d57664e9SAndroid Build Coastguard Worker "core/proto/**/*.proto", 40*d57664e9SAndroid Build Coastguard Worker "libs/incident/**/*.proto", 41*d57664e9SAndroid Build Coastguard Worker ], 42*d57664e9SAndroid Build Coastguard Worker 43*d57664e9SAndroid Build Coastguard Worker data: [ 44*d57664e9SAndroid Build Coastguard Worker ":libprotobuf-internal-protos", 45*d57664e9SAndroid Build Coastguard Worker ], 46*d57664e9SAndroid Build Coastguard Worker 47*d57664e9SAndroid Build Coastguard Worker output_extension: "srcjar", 48*d57664e9SAndroid Build Coastguard Worker} 49*d57664e9SAndroid Build Coastguard Worker 50*d57664e9SAndroid Build Coastguard Workergensrcs { 51*d57664e9SAndroid Build Coastguard Worker name: "framework-cppstream-protos", 52*d57664e9SAndroid Build Coastguard Worker 53*d57664e9SAndroid Build Coastguard Worker tools: [ 54*d57664e9SAndroid Build Coastguard Worker "aprotoc", 55*d57664e9SAndroid Build Coastguard Worker "protoc-gen-cppstream", 56*d57664e9SAndroid Build Coastguard Worker ], 57*d57664e9SAndroid Build Coastguard Worker 58*d57664e9SAndroid Build Coastguard Worker cmd: "mkdir -p $(genDir) " + 59*d57664e9SAndroid Build Coastguard Worker "&& $(location aprotoc) " + 60*d57664e9SAndroid Build Coastguard Worker " --plugin=$(location protoc-gen-cppstream) " + 61*d57664e9SAndroid Build Coastguard Worker " --cppstream_out=$(genDir) " + 62*d57664e9SAndroid Build Coastguard Worker " -Iexternal/protobuf/src " + 63*d57664e9SAndroid Build Coastguard Worker " -I . " + 64*d57664e9SAndroid Build Coastguard Worker " $(in)", 65*d57664e9SAndroid Build Coastguard Worker 66*d57664e9SAndroid Build Coastguard Worker srcs: [ 67*d57664e9SAndroid Build Coastguard Worker ":ipconnectivity-proto-src", 68*d57664e9SAndroid Build Coastguard Worker ":libstats_atom_enum_protos", 69*d57664e9SAndroid Build Coastguard Worker ":libstats_atom_message_protos", 70*d57664e9SAndroid Build Coastguard Worker "core/proto/**/*.proto", 71*d57664e9SAndroid Build Coastguard Worker "libs/incident/**/*.proto", 72*d57664e9SAndroid Build Coastguard Worker ], 73*d57664e9SAndroid Build Coastguard Worker 74*d57664e9SAndroid Build Coastguard Worker data: [ 75*d57664e9SAndroid Build Coastguard Worker ":libprotobuf-internal-protos", 76*d57664e9SAndroid Build Coastguard Worker ], 77*d57664e9SAndroid Build Coastguard Worker 78*d57664e9SAndroid Build Coastguard Worker output_extension: "proto.h", 79*d57664e9SAndroid Build Coastguard Worker} 80*d57664e9SAndroid Build Coastguard Worker 81*d57664e9SAndroid Build Coastguard Worker// ==== nfc framework java library ============================== 82*d57664e9SAndroid Build Coastguard Workergensrcs { 83*d57664e9SAndroid Build Coastguard Worker name: "framework-nfc-javastream-protos", 84*d57664e9SAndroid Build Coastguard Worker 85*d57664e9SAndroid Build Coastguard Worker tools: [ 86*d57664e9SAndroid Build Coastguard Worker "aprotoc", 87*d57664e9SAndroid Build Coastguard Worker "protoc-gen-javastream", 88*d57664e9SAndroid Build Coastguard Worker "soong_zip", 89*d57664e9SAndroid Build Coastguard Worker ], 90*d57664e9SAndroid Build Coastguard Worker 91*d57664e9SAndroid Build Coastguard Worker cmd: "mkdir -p $(genDir)/$(in) " + 92*d57664e9SAndroid Build Coastguard Worker "&& $(location aprotoc) " + 93*d57664e9SAndroid Build Coastguard Worker " --plugin=$(location protoc-gen-javastream) " + 94*d57664e9SAndroid Build Coastguard Worker " --javastream_out=$(genDir)/$(in) " + 95*d57664e9SAndroid Build Coastguard Worker " -Iexternal/protobuf/src " + 96*d57664e9SAndroid Build Coastguard Worker " -I . " + 97*d57664e9SAndroid Build Coastguard Worker " $(in) " + 98*d57664e9SAndroid Build Coastguard Worker "&& $(location soong_zip) -jar -o $(out) -C $(genDir)/$(in) -D $(genDir)/$(in)", 99*d57664e9SAndroid Build Coastguard Worker 100*d57664e9SAndroid Build Coastguard Worker srcs: [ 101*d57664e9SAndroid Build Coastguard Worker "core/proto/android/app/pendingintent.proto", 102*d57664e9SAndroid Build Coastguard Worker "core/proto/android/content/component_name.proto", 103*d57664e9SAndroid Build Coastguard Worker "core/proto/android/content/intent.proto", 104*d57664e9SAndroid Build Coastguard Worker "core/proto/android/nfc/*.proto", 105*d57664e9SAndroid Build Coastguard Worker "core/proto/android/os/patternmatcher.proto", 106*d57664e9SAndroid Build Coastguard Worker "core/proto/android/os/persistablebundle.proto", 107*d57664e9SAndroid Build Coastguard Worker "core/proto/android/privacy.proto", 108*d57664e9SAndroid Build Coastguard Worker ], 109*d57664e9SAndroid Build Coastguard Worker 110*d57664e9SAndroid Build Coastguard Worker data: [ 111*d57664e9SAndroid Build Coastguard Worker ":libprotobuf-internal-protos", 112*d57664e9SAndroid Build Coastguard Worker ], 113*d57664e9SAndroid Build Coastguard Worker 114*d57664e9SAndroid Build Coastguard Worker output_extension: "srcjar", 115*d57664e9SAndroid Build Coastguard Worker} 116*d57664e9SAndroid Build Coastguard Worker 117*d57664e9SAndroid Build Coastguard Worker// ==== java proto host library ============================== 118*d57664e9SAndroid Build Coastguard Workerjava_library_host { 119*d57664e9SAndroid Build Coastguard Worker name: "platformprotos", 120*d57664e9SAndroid Build Coastguard Worker srcs: [ 121*d57664e9SAndroid Build Coastguard Worker ":ipconnectivity-proto-src", 122*d57664e9SAndroid Build Coastguard Worker ":libstats_internal_protos", 123*d57664e9SAndroid Build Coastguard Worker ":statsd_internal_protos", 124*d57664e9SAndroid Build Coastguard Worker "cmds/am/proto/instrumentation_data.proto", 125*d57664e9SAndroid Build Coastguard Worker "cmds/statsd/src/**/*.proto", 126*d57664e9SAndroid Build Coastguard Worker "core/proto/**/*.proto", 127*d57664e9SAndroid Build Coastguard Worker "libs/incident/proto/**/*.proto", 128*d57664e9SAndroid Build Coastguard Worker ], 129*d57664e9SAndroid Build Coastguard Worker proto: { 130*d57664e9SAndroid Build Coastguard Worker include_dirs: [ 131*d57664e9SAndroid Build Coastguard Worker "external/protobuf/src", 132*d57664e9SAndroid Build Coastguard Worker "frameworks/proto_logging/stats", 133*d57664e9SAndroid Build Coastguard Worker ], 134*d57664e9SAndroid Build Coastguard Worker type: "full", 135*d57664e9SAndroid Build Coastguard Worker }, 136*d57664e9SAndroid Build Coastguard Worker // b/267831518: Pin tradefed and dependencies to Java 11. 137*d57664e9SAndroid Build Coastguard Worker java_version: "11", 138*d57664e9SAndroid Build Coastguard Worker // Protos have lots of MissingOverride and similar. 139*d57664e9SAndroid Build Coastguard Worker errorprone: { 140*d57664e9SAndroid Build Coastguard Worker enabled: false, 141*d57664e9SAndroid Build Coastguard Worker }, 142*d57664e9SAndroid Build Coastguard Worker} 143*d57664e9SAndroid Build Coastguard Worker 144*d57664e9SAndroid Build Coastguard Worker// ==== java proto device library (for test only) ============================== 145*d57664e9SAndroid Build Coastguard Workerjava_library { 146*d57664e9SAndroid Build Coastguard Worker name: "platformprotosnano", 147*d57664e9SAndroid Build Coastguard Worker proto: { 148*d57664e9SAndroid Build Coastguard Worker type: "nano", 149*d57664e9SAndroid Build Coastguard Worker output_params: ["store_unknown_fields=true"], 150*d57664e9SAndroid Build Coastguard Worker include_dirs: ["external/protobuf/src"], 151*d57664e9SAndroid Build Coastguard Worker }, 152*d57664e9SAndroid Build Coastguard Worker exclude_srcs: [ 153*d57664e9SAndroid Build Coastguard Worker "core/proto/android/privacy.proto", 154*d57664e9SAndroid Build Coastguard Worker "core/proto/android/section.proto", 155*d57664e9SAndroid Build Coastguard Worker "core/proto/android/typedef.proto", 156*d57664e9SAndroid Build Coastguard Worker ], 157*d57664e9SAndroid Build Coastguard Worker sdk_version: "9", 158*d57664e9SAndroid Build Coastguard Worker srcs: [ 159*d57664e9SAndroid Build Coastguard Worker ":ipconnectivity-proto-src", 160*d57664e9SAndroid Build Coastguard Worker ":libstats_atom_enum_protos", 161*d57664e9SAndroid Build Coastguard Worker ":libstats_atom_message_protos", 162*d57664e9SAndroid Build Coastguard Worker "core/proto/**/*.proto", 163*d57664e9SAndroid Build Coastguard Worker "libs/incident/proto/android/os/**/*.proto", 164*d57664e9SAndroid Build Coastguard Worker ], 165*d57664e9SAndroid Build Coastguard Worker // Protos have lots of MissingOverride and similar. 166*d57664e9SAndroid Build Coastguard Worker errorprone: { 167*d57664e9SAndroid Build Coastguard Worker enabled: false, 168*d57664e9SAndroid Build Coastguard Worker }, 169*d57664e9SAndroid Build Coastguard Worker} 170*d57664e9SAndroid Build Coastguard Worker 171*d57664e9SAndroid Build Coastguard Worker// ==== java proto device library (for test only) ============================== 172*d57664e9SAndroid Build Coastguard Workerjava_library { 173*d57664e9SAndroid Build Coastguard Worker name: "platformprotoslite", 174*d57664e9SAndroid Build Coastguard Worker proto: { 175*d57664e9SAndroid Build Coastguard Worker type: "lite", 176*d57664e9SAndroid Build Coastguard Worker include_dirs: ["external/protobuf/src"], 177*d57664e9SAndroid Build Coastguard Worker }, 178*d57664e9SAndroid Build Coastguard Worker 179*d57664e9SAndroid Build Coastguard Worker srcs: [ 180*d57664e9SAndroid Build Coastguard Worker ":ipconnectivity-proto-src", 181*d57664e9SAndroid Build Coastguard Worker ":libstats_atom_enum_protos", 182*d57664e9SAndroid Build Coastguard Worker ":libstats_atom_message_protos", 183*d57664e9SAndroid Build Coastguard Worker "core/proto/**/*.proto", 184*d57664e9SAndroid Build Coastguard Worker "libs/incident/proto/android/os/**/*.proto", 185*d57664e9SAndroid Build Coastguard Worker ], 186*d57664e9SAndroid Build Coastguard Worker exclude_srcs: [ 187*d57664e9SAndroid Build Coastguard Worker "core/proto/android/privacy.proto", 188*d57664e9SAndroid Build Coastguard Worker "core/proto/android/section.proto", 189*d57664e9SAndroid Build Coastguard Worker "core/proto/android/typedef.proto", 190*d57664e9SAndroid Build Coastguard Worker ], 191*d57664e9SAndroid Build Coastguard Worker sdk_version: "core_current", 192*d57664e9SAndroid Build Coastguard Worker // Protos have lots of MissingOverride and similar. 193*d57664e9SAndroid Build Coastguard Worker errorprone: { 194*d57664e9SAndroid Build Coastguard Worker enabled: false, 195*d57664e9SAndroid Build Coastguard Worker }, 196*d57664e9SAndroid Build Coastguard Worker} 197*d57664e9SAndroid Build Coastguard Worker 198*d57664e9SAndroid Build Coastguard Worker// ==== c++ proto device library ============================== 199*d57664e9SAndroid Build Coastguard Workercc_defaults { 200*d57664e9SAndroid Build Coastguard Worker name: "libplatformprotos-defaults", 201*d57664e9SAndroid Build Coastguard Worker 202*d57664e9SAndroid Build Coastguard Worker proto: { 203*d57664e9SAndroid Build Coastguard Worker export_proto_headers: true, 204*d57664e9SAndroid Build Coastguard Worker include_dirs: [ 205*d57664e9SAndroid Build Coastguard Worker "external/protobuf/src", 206*d57664e9SAndroid Build Coastguard Worker ], 207*d57664e9SAndroid Build Coastguard Worker }, 208*d57664e9SAndroid Build Coastguard Worker 209*d57664e9SAndroid Build Coastguard Worker cflags: [ 210*d57664e9SAndroid Build Coastguard Worker "-Wall", 211*d57664e9SAndroid Build Coastguard Worker "-Werror", 212*d57664e9SAndroid Build Coastguard Worker "-Wno-unused-parameter", 213*d57664e9SAndroid Build Coastguard Worker ], 214*d57664e9SAndroid Build Coastguard Worker 215*d57664e9SAndroid Build Coastguard Worker srcs: [ 216*d57664e9SAndroid Build Coastguard Worker ":ipconnectivity-proto-src", 217*d57664e9SAndroid Build Coastguard Worker ":libstats_atom_enum_protos", 218*d57664e9SAndroid Build Coastguard Worker ":libstats_atom_message_protos", 219*d57664e9SAndroid Build Coastguard Worker "core/proto/**/*.proto", 220*d57664e9SAndroid Build Coastguard Worker ], 221*d57664e9SAndroid Build Coastguard Worker} 222*d57664e9SAndroid Build Coastguard Worker 223*d57664e9SAndroid Build Coastguard Workercc_library { 224*d57664e9SAndroid Build Coastguard Worker name: "libplatformprotos", 225*d57664e9SAndroid Build Coastguard Worker defaults: ["libplatformprotos-defaults"], 226*d57664e9SAndroid Build Coastguard Worker host_supported: true, 227*d57664e9SAndroid Build Coastguard Worker 228*d57664e9SAndroid Build Coastguard Worker target: { 229*d57664e9SAndroid Build Coastguard Worker host: { 230*d57664e9SAndroid Build Coastguard Worker proto: { 231*d57664e9SAndroid Build Coastguard Worker type: "full", 232*d57664e9SAndroid Build Coastguard Worker }, 233*d57664e9SAndroid Build Coastguard Worker }, 234*d57664e9SAndroid Build Coastguard Worker android: { 235*d57664e9SAndroid Build Coastguard Worker proto: { 236*d57664e9SAndroid Build Coastguard Worker type: "lite", 237*d57664e9SAndroid Build Coastguard Worker }, 238*d57664e9SAndroid Build Coastguard Worker shared_libs: [ 239*d57664e9SAndroid Build Coastguard Worker "libprotobuf-cpp-lite", 240*d57664e9SAndroid Build Coastguard Worker ], 241*d57664e9SAndroid Build Coastguard Worker shared: { 242*d57664e9SAndroid Build Coastguard Worker enabled: false, 243*d57664e9SAndroid Build Coastguard Worker }, 244*d57664e9SAndroid Build Coastguard Worker }, 245*d57664e9SAndroid Build Coastguard Worker }, 246*d57664e9SAndroid Build Coastguard Worker} 247*d57664e9SAndroid Build Coastguard Worker 248*d57664e9SAndroid Build Coastguard Worker// This library is meant for vendor code that needs to output protobuf. It links 249*d57664e9SAndroid Build Coastguard Worker// against the static version of libprotobuf-cpp-lite, for which we can not guarantee 250*d57664e9SAndroid Build Coastguard Worker// binary compatibility. 251*d57664e9SAndroid Build Coastguard Workercc_library { 252*d57664e9SAndroid Build Coastguard Worker name: "libplatformprotos-static", 253*d57664e9SAndroid Build Coastguard Worker defaults: ["libplatformprotos-defaults"], 254*d57664e9SAndroid Build Coastguard Worker host_supported: false, 255*d57664e9SAndroid Build Coastguard Worker 256*d57664e9SAndroid Build Coastguard Worker // This is okay because this library is only built as a static library. The C++ 257*d57664e9SAndroid Build Coastguard Worker // API is not guaranteed. The proto API is guaranteed to be stable via Metrics Council, 258*d57664e9SAndroid Build Coastguard Worker // but is not authorized to be used outside of debugging. 259*d57664e9SAndroid Build Coastguard Worker vendor_available: true, 260*d57664e9SAndroid Build Coastguard Worker 261*d57664e9SAndroid Build Coastguard Worker target: { 262*d57664e9SAndroid Build Coastguard Worker android: { 263*d57664e9SAndroid Build Coastguard Worker proto: { 264*d57664e9SAndroid Build Coastguard Worker type: "lite", 265*d57664e9SAndroid Build Coastguard Worker }, 266*d57664e9SAndroid Build Coastguard Worker static_libs: [ 267*d57664e9SAndroid Build Coastguard Worker "libprotobuf-cpp-lite", 268*d57664e9SAndroid Build Coastguard Worker ], 269*d57664e9SAndroid Build Coastguard Worker shared: { 270*d57664e9SAndroid Build Coastguard Worker enabled: false, 271*d57664e9SAndroid Build Coastguard Worker }, 272*d57664e9SAndroid Build Coastguard Worker }, 273*d57664e9SAndroid Build Coastguard Worker }, 274*d57664e9SAndroid Build Coastguard Worker} 275*d57664e9SAndroid Build Coastguard Worker 276*d57664e9SAndroid Build Coastguard Worker// This is the full proto version of libplatformprotos. It may only 277*d57664e9SAndroid Build Coastguard Worker// be used by test code that is not shipped on the device. 278*d57664e9SAndroid Build Coastguard Workercc_library { 279*d57664e9SAndroid Build Coastguard Worker name: "libplatformprotos-test", 280*d57664e9SAndroid Build Coastguard Worker defaults: ["libplatformprotos-defaults"], 281*d57664e9SAndroid Build Coastguard Worker host_supported: false, 282*d57664e9SAndroid Build Coastguard Worker 283*d57664e9SAndroid Build Coastguard Worker target: { 284*d57664e9SAndroid Build Coastguard Worker android: { 285*d57664e9SAndroid Build Coastguard Worker proto: { 286*d57664e9SAndroid Build Coastguard Worker type: "full", 287*d57664e9SAndroid Build Coastguard Worker }, 288*d57664e9SAndroid Build Coastguard Worker shared: { 289*d57664e9SAndroid Build Coastguard Worker enabled: false, 290*d57664e9SAndroid Build Coastguard Worker }, 291*d57664e9SAndroid Build Coastguard Worker }, 292*d57664e9SAndroid Build Coastguard Worker }, 293*d57664e9SAndroid Build Coastguard Worker} 294