[package] name = "mecomp-core" description = "Core library for the mecomp project, includes the core schemas, shared utils, and other such things." 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 [features] default = ["audio"] rpc = ["tarpc"] otel_tracing = [ "tracing-opentelemetry", "opentelemetry", "opentelemetry_sdk", "opentelemetry-semantic-conventions", "opentelemetry-otlp", ] audio = ["dep:rodio", "dep:tokio", "dep:rand"] flame = ["tracing-flame"] verbose_tracing = [] # for testing purposes, prevents actual playback of audio which is useful in CI environments where audio playback is not possible mock_playback = [] [dependencies] # shared dependencies directories = { workspace = true } env_logger = { workspace = true } log = { workspace = true } once_cell = { workspace = true } rand = { workspace = true, optional = true } rodio = { workspace = true, optional = true } serde = { workspace = true } thiserror = { workspace = true } tokio = { workspace = true, optional = true } tarpc = { workspace = true, optional = true } tracing = { workspace = true } tracing-subscriber = { workspace = true } tracing-opentelemetry = { workspace = true, optional = true } tracing-flame = { workspace = true, optional = true } opentelemetry = { workspace = true, optional = true } opentelemetry_sdk = { workspace = true, optional = true } opentelemetry-otlp = { workspace = true, optional = true } opentelemetry-semantic-conventions = { workspace = true, optional = true } # MECOMP dependencies mecomp-storage = { workspace = true, features = ["serde"] } one-or-many = { workspace = true } [dev-dependencies] # shared dev dependencies anyhow = { workspace = true } pretty_assertions = { workspace = true } rstest = { workspace = true } rstest_reuse = { workspace = true } tempfile = { workspace = true } lofty = { workspace = true } mecomp-storage = { workspace = true, features = [ "serde", "db", "analysis", "test_utils", ] } surrealdb = { workspace = true } [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }