1# Copyright 2021 The Pigweed Authors 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); you may not 4# use this file except in compliance with the License. You may obtain a copy of 5# the License at 6# 7# https://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, WITHOUT 11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12# License for the specific language governing permissions and limitations under 13# the License. 14 15# Generic client for pw_rpc, Pigweed's RPC system. 16 17RPC_CLIENT_SOURCES = [ 18 "AbstractCall.java", 19 "Call.java", 20 "Channel.java", 21 "ChannelOutputException.java", 22 "Client.java", 23 "Endpoint.java", 24 "FutureCall.java", 25 "Ids.java", 26 "InvalidRpcChannelException.java", 27 "InvalidRpcServiceException.java", 28 "InvalidRpcServiceMethodException.java", 29 "InvalidRpcStateException.java", 30 "Method.java", 31 "MethodClient.java", 32 "Packets.java", 33 "PendingRpc.java", 34 "RpcError.java", 35 "RpcKey.java", 36 "Service.java", 37 "Status.java", 38 "StreamObserver.java", 39 "StreamObserverCall.java", 40 "UnaryResult.java", 41] 42 43java_library( 44 name = "client", 45 srcs = RPC_CLIENT_SOURCES, 46 visibility = ["//visibility:public"], 47 deps = [ 48 "//pw_log/java/main/dev/pigweed/pw_log", 49 "//pw_rpc:packet_proto_java", 50 "//third_party/google_auto:value", 51 "@com_google_protobuf//java/core", 52 "@maven//:com_google_code_findbugs_jsr305", 53 "@maven//:com_google_guava_guava", 54 ], 55) 56 57java_library( 58 name = "client_lite", 59 srcs = RPC_CLIENT_SOURCES, 60 visibility = ["//visibility:public"], 61 deps = [ 62 "//pw_log/java/main/dev/pigweed/pw_log", 63 "//pw_rpc:packet_proto_java_lite", 64 "//third_party/google_auto:value", 65 "@com_google_protobuf//java/lite", 66 "@maven//:com_google_code_findbugs_jsr305", 67 "@maven//:com_google_guava_guava", 68 ], 69) 70 71android_library( 72 name = "client_android", 73 srcs = RPC_CLIENT_SOURCES, 74 tags = ["manual"], # TODO: b/227771184 - support Android in the Bazel build 75 visibility = ["//visibility:public"], 76 deps = [ 77 "//pw_log/java/android_main/dev/pigweed/pw_log", 78 "//pw_rpc:packet_proto_java_lite", 79 "//third_party/google_auto:value", 80 "@com_google_protobuf//java/lite", 81 "@maven//:com_google_code_findbugs_jsr305", 82 "@maven//:com_google_guava_guava", 83 ], 84) 85