107 lines
2.6 KiB
Python
107 lines
2.6 KiB
Python
# Copyright 2021 The Pigweed Authors
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
|
# use this file except in compliance with the License. You may obtain a copy of
|
|
# the License at
|
|
#
|
|
# https://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations under
|
|
# the License.
|
|
|
|
load("@build_bazel_rules_nodejs//:index.bzl", "js_library")
|
|
load("@npm//@bazel/typescript:index.bzl", "ts_library", "ts_project")
|
|
load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test")
|
|
load("@rules_proto_grpc//js:defs.bzl", "js_proto_library")
|
|
load("//pw_protobuf_compiler/ts:ts_proto_collection.bzl", "ts_proto_collection")
|
|
|
|
package(default_visibility = ["//visibility:public"])
|
|
|
|
ts_project(
|
|
name = "lib",
|
|
srcs = [
|
|
"call.ts",
|
|
"client.ts",
|
|
"descriptors.ts",
|
|
"hash.ts",
|
|
"index.ts",
|
|
"method.ts",
|
|
"packets.ts",
|
|
"rpc_classes.ts",
|
|
],
|
|
declaration = True,
|
|
source_map = True,
|
|
deps = [
|
|
":packet_proto_tspb",
|
|
"//pw_protobuf_compiler/ts:pw_protobuf_compiler",
|
|
"//pw_status/ts:pw_status",
|
|
"@npm//@types/google-protobuf",
|
|
"@npm//wait-queue",
|
|
],
|
|
)
|
|
|
|
js_library(
|
|
name = "pw_rpc",
|
|
package_name = "@pigweed/pw_rpc",
|
|
srcs = ["package.json"],
|
|
deps = [":lib"],
|
|
)
|
|
|
|
ts_proto_collection(
|
|
name = "rpc_proto_collection",
|
|
js_proto_library = "@pigweed//pw_rpc/ts:test_protos_tspb",
|
|
proto_library = "@pigweed//pw_rpc/ts:test_protos",
|
|
)
|
|
|
|
ts_library(
|
|
name = "rpc_test_lib",
|
|
srcs = [
|
|
"call_test.ts",
|
|
"client_test.ts",
|
|
"descriptors_test.ts",
|
|
"packets_test.ts",
|
|
],
|
|
data = [
|
|
":test_protos",
|
|
],
|
|
deps = [
|
|
":lib",
|
|
":packet_proto_tspb",
|
|
":rpc_proto_collection",
|
|
":test_protos_tspb",
|
|
"//pw_protobuf_compiler/ts:pw_protobuf_compiler",
|
|
"//pw_status/ts:pw_status",
|
|
"@npm//@types/google-protobuf",
|
|
"@npm//@types/jasmine",
|
|
"@npm//@types/node",
|
|
],
|
|
)
|
|
|
|
jasmine_node_test(
|
|
name = "rpc_test",
|
|
srcs = [
|
|
":rpc_test_lib",
|
|
],
|
|
)
|
|
|
|
proto_library(
|
|
name = "test_protos",
|
|
srcs = [
|
|
"test.proto",
|
|
"test2.proto",
|
|
],
|
|
)
|
|
|
|
js_proto_library(
|
|
name = "test_protos_tspb",
|
|
protos = [":test_protos"],
|
|
)
|
|
|
|
js_proto_library(
|
|
name = "packet_proto_tspb",
|
|
protos = ["//pw_rpc:internal_packet_proto"],
|
|
)
|