[package] name = "mecomp-daemon" description = "The RPC daemon for the mecomp music player, contains client library and server executable." version.workspace = true edition.workspace = true authors.workspace = true repository.workspace = true keywords.workspace = true categories.workspace = true readme.workspace = true license.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [[bin]] name = "mecomp-daemon" test = false bench = false doctest = false [[bench]] name = "rescan" harness = false [[bench]] name = "analyze" harness = false [[bench]] name = "recluster" harness = false [features] default = ["cli", "dynamic_updates", "analysis"] cli = ["dep:clap"] # features needed for the CLI (binary crate) # otel_tracing = ["mecomp-core/otel_tracing"] # flame = ["mecomp-core/flame"] dynamic_updates = ["dep:notify-debouncer-full", "dep:notify"] analysis = ["mecomp-storage/analysis", "mecomp-analysis"] [dependencies] # shared dependencies anyhow = { workspace = true } clap = { workspace = true, optional = true } futures = { workspace = true } log = { workspace = true } notify = { workspace = true, optional = true } notify-debouncer-full = { workspace = true, optional = true } rand = { workspace = true } serde = { workspace = true } surrealdb = { workspace = true } tap = { workspace = true } tarpc = { workspace = true } tokio = { workspace = true } tracing = { workspace = true } walkdir = { workspace = true } # MECOMP dependencies mecomp-core = { workspace = true, features = ["rpc", "audio"] } mecomp-storage = { workspace = true, features = ["serde", "db"] } mecomp-analysis = { workspace = true, optional = true } one-or-many = { workspace = true } # server dependencies config.workspace = true shellexpand = "3.1" [dev-dependencies] criterion.workspace = true lofty = { workspace = true } mecomp-core = { workspace = true, features = ["rpc", "mock_playback"] } mecomp-storage = { workspace = true, features = [ "serde", "db", "analysis", "test_utils", ] } pretty_assertions = { workspace = true } rstest = { workspace = true } tempfile = { workspace = true }