Files
netris-cdc-file-transfer/cdc_fuse_fs/BUILD
Lutz Justen 370023a944 [cdc_stream] Use ephemeral ports (#100)
Instead of running netstat/ss on local and remote systems, just bind
with port 0 to find an ephemeral port. This is much more robust,
simpler and a bit faster. Since the remote port is only known after
running cdc_fuse_fs, port forwarding has to be set up after running
cdc_fuse_fs.
2023-06-23 11:19:36 +02:00

149 lines
3.6 KiB
Python

load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_test")
package(default_visibility = ["//:__subpackages__"])
cc_binary(
name = "cdc_fuse_fs",
srcs = ["main.cc"],
deps = [
":cdc_fuse_fs_lib",
":constants",
"//absl_helper:jedec_size_flag",
"//common:client_socket",
"//common:gamelet_component",
"//common:log",
"//common:server_socket",
"//data_store:data_provider",
"//data_store:disk_data_store",
"//data_store:grpc_reader",
"@com_google_absl//absl/flags:parse",
],
)
# Dependencies for cdc_fuse_fs_lib, except for FUSE.
cdc_fuse_fs_lib_shared_deps = [
":asset",
":asset_stream_client",
":config_stream_client",
"//common:log",
"//common:path",
"//common:platform",
"//common:util",
"//common:threadpool",
"@com_github_jsoncpp//:jsoncpp",
]
cc_library(
name = "cdc_fuse_fs_lib",
srcs = ["cdc_fuse_fs.cc"],
hdrs = ["cdc_fuse_fs.h"],
target_compatible_with = ["@platforms//os:linux"],
deps = cdc_fuse_fs_lib_shared_deps + ["@com_github_fuse//:fuse_shared"],
)
cc_library(
name = "cdc_fuse_fs_lib_mocked",
srcs = ["cdc_fuse_fs.cc"],
hdrs = ["cdc_fuse_fs.h"],
copts = ["-DUSE_MOCK_LIBFUSE=1"],
deps = cdc_fuse_fs_lib_shared_deps + [":mock_libfuse"],
)
cc_test(
name = "cdc_fuse_fs_test",
srcs = ["cdc_fuse_fs_test.cc"],
deps = [
":cdc_fuse_fs_lib_mocked",
":mock_config_stream_client",
"//common:status_test_macros",
"//data_store",
"//data_store:mem_data_store",
"//manifest:fake_manifest_builder",
"//manifest:manifest_builder",
"@com_google_absl//absl/status",
"@com_google_googletest//:gtest",
"@com_google_googletest//:gtest_main",
],
)
cc_library(
name = "mock_libfuse",
srcs = ["mock_libfuse.cc"],
hdrs = ["mock_libfuse.h"],
deps = ["//common:platform"],
)
cc_library(
name = "constants",
hdrs = ["constants.h"],
)
cc_library(
name = "asset_stream_client",
srcs = ["asset_stream_client.cc"],
hdrs = ["asset_stream_client.h"],
deps = [
"//common:log",
"//common:status_macros",
"//common:stopwatch",
"//manifest:manifest_proto_defs",
"//proto:asset_stream_service_grpc_proto",
"@com_google_absl//absl/status:statusor",
],
)
cc_library(
name = "asset",
srcs = ["asset.cc"],
hdrs = ["asset.h"],
deps = [
"//common:buffer",
"//common:status",
"//data_store",
"//manifest:content_id",
"@com_google_absl//absl/status",
"@com_google_absl//absl/status:statusor",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/synchronization",
],
)
cc_test(
name = "asset_test",
srcs = ["asset_test.cc"],
deps = [
":asset",
"//common:path",
"//common:platform",
"//common:status_test_macros",
"//data_store:mem_data_store",
"@com_google_googletest//:gtest",
"@com_google_googletest//:gtest_main",
],
)
cc_library(
name = "config_stream_client",
srcs = ["config_stream_client.cc"],
hdrs = ["config_stream_client.h"],
deps = [
"//common:grpc_status",
"//common:log",
"//manifest:content_id",
"//proto:asset_stream_service_grpc_proto",
"@com_google_absl//absl/status",
],
)
cc_library(
name = "mock_config_stream_client",
srcs = ["mock_config_stream_client.cc"],
hdrs = ["mock_config_stream_client.h"],
deps = [":config_stream_client"],
)
filegroup(
name = "all_test_sources",
srcs = glob(["*_test.cc"]),
)