1// Copyright (C) 2022 The Android Open Source Project 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15package { 16 default_applicable_licenses: ["Android-Apache-2.0"], 17} 18 19filegroup { 20 name: "adservices-proto", 21 srcs: [ 22 "*.proto", 23 ], 24} 25 26filegroup { 27 name: "config-delivery-proto-lite", 28 srcs: [ 29 "config-delivery/*.proto", 30 ], 31} 32 33// Generate the Proto POJO builders, etc. 34java_library { 35 name: "adservices-proto-lite", 36 sdk_version: "core_current", 37 proto: { 38 type: "lite", 39 include_dirs: [ 40 "external/protobuf/src", 41 "external/protobuf/java", 42 "external/anonymous-counting-tokens", 43 "external/private-join-and-compute", 44 ], 45 }, 46 srcs: [ 47 ":config-delivery-proto-lite", 48 ":adservices-proto", 49 ":libprotobuf-internal-protos", 50 ":act-proto", 51 ":private-join-and-compute-proto", 52 ], 53 static_libs: ["libprotobuf-java-lite"], 54 apex_available: [ 55 "com.android.adservices", 56 "com.android.extservices", 57 ], 58} 59 60// Generate gRPC client code 61genrule { 62 name: "seller-frontend-service-stub-lite", 63 tools: [ 64 "aprotoc", 65 "protoc-gen-grpc-java-plugin", 66 "soong_zip", 67 ], 68 cmd: "mkdir -p $(genDir)/gen && " + 69 "$(location aprotoc) --java_opt=annotate_code=false -Ipackages/modules/AdServices/adservices/service-core -Iexternal/protobuf/src " + 70 "--plugin=protoc-gen-grpc-java=$(location protoc-gen-grpc-java-plugin) --grpc-java_out=lite:$(genDir)/gen $(locations :adservices-proto) && " + 71 "$(location soong_zip) -o $(out) -C $(genDir)/gen -D $(genDir)/gen", 72 srcs: [ 73 ":adservices-proto", 74 ":libprotobuf-internal-protos", 75 ], 76 out: [ 77 "protos.srcjar", 78 ], 79} 80 81// Package into java_library to reference in "static_libs" in "adservices-service-core" 82java_library { 83 name: "adservices-grpclib-lite", 84 sdk_version: "module_current", 85 min_sdk_version: "30", 86 apex_available: [ 87 "com.android.adservices", 88 "com.android.extservices", 89 ], 90 srcs: [ 91 ":seller-frontend-service-stub-lite", 92 ":adservices-proto", 93 ":libprotobuf-internal-protos", 94 ], 95 libs: [ 96 "javax_annotation-api_1.3.2", 97 ], 98 static_libs: [ 99 "libprotobuf-java-lite", 100 "guava", 101 "grpc-java-core-android", 102 "grpc-java-okhttp-client-lite", 103 ], 104 proto: { 105 type: "lite", 106 include_dirs: [ 107 "external/protobuf/src", 108 "external/protobuf/java", 109 ], 110 }, 111} 112