• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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