[cdc_stream] Switch asset_stream_manager to use Lyra (#25)

Switch asset_stream_manager to use Lyra

Lyra has a nice simple interface, but a few quirks that we work
around, mainly in the BaseCommand class:
- It does not support return values from running a command.
- It does not support return values from a custom arg parser.
- Lyra interprets --bad_arg as positional argument.

Fixes #15
This commit is contained in:
Lutz Justen
2022-12-01 10:36:48 +01:00
committed by GitHub
parent 7d7fcc67b9
commit a381541d1b
11 changed files with 631 additions and 291 deletions

View File

@@ -7,12 +7,28 @@ cc_binary(
srcs = ["main.cc"],
data = [":roots_pem"],
deps = [
":asset_stream_config",
":session_management_server",
":commands",
"//cdc_stream",
"//common:log",
"//common:path",
"//data_store:data_provider",
],
)
cc_library(
name = "commands",
srcs = [
"base_command.cc",
"start_service_command.cc",
],
hdrs = [
"base_command.h",
"start_service_command.h",
],
deps = [
":asset_stream_config",
":session_management_server",
"@com_github_lyra//:lyra",
"@com_google_absl//absl/status",
],
)
@@ -53,8 +69,10 @@ cc_library(
"//common:log",
"//common:path",
"//common:status_macros",
"//data_store:data_provider",
"//data_store:disk_data_store",
"@com_github_jsoncpp//:jsoncpp",
"@com_google_absl//absl/flags:parse",
"@com_github_lyra//:lyra",
],
)