[package]
name = "veilid-server"
version = "0.1.0"
authors = ["John Smith <jsmith@example.com>"]
edition = "2021"
build = "build.rs"
license = "LGPL-2.0-or-later OR MPL-2.0 OR (MIT AND BSD-3-Clause)"

[[bin]]
name = "veilid-server"
path = "src/main.rs"

[features]
default = [ "rt-tokio" ]
rt-async-std = [ "veilid-core/rt-async-std", "async-std", "opentelemetry/rt-async-std", "opentelemetry-otlp/grpc-sys" ]
rt-tokio = [ "veilid-core/rt-tokio", "tokio", "tokio-stream", "tokio-util", "opentelemetry/rt-tokio", "console-subscriber" ]
tracking = [ "veilid-core/tracking" ]

[dependencies]
veilid-core = { path = "../veilid-core" }
tracing = { version = "^0", features = ["log", "attributes"] }
tracing-subscriber = { version = "^0", features = ["env-filter"] }
tracing-appender = "^0"
tracing-opentelemetry = "^0"
# Buggy: tracing-error = "^0"
opentelemetry = { version = "^0" }
opentelemetry-otlp = { version = "^0" }
opentelemetry-semantic-conventions = "^0"
async-std = { version = "^1", features = ["unstable"], optional = true }
tokio = { version = "^1", features = ["full", "tracing"], optional = true }
console-subscriber = { version = "^0", optional = true }
tokio-stream = { version = "^0", features = ["net"], optional = true }
tokio-util = { version = "^0", features = ["compat"], optional = true}
async-tungstenite = { version = "^0", features = ["async-tls"] }
color-eyre = { version = "^0", default-features = false }
backtrace = "^0"
clap = "^3"
directories = "^4"
capnp = "^0"
parking_lot = "^0"
capnp-rpc = "^0"
config = { version = "^0", features = ["yaml"] }
cfg-if = "^1"
serde = "^1"
serde_derive = "^1"
serde_yaml = "^0"
json = "^0"
futures-util = { version = "^0", default_features = false, features = ["alloc"] }
url = "^2"
ctrlc = "^3"
lazy_static = "^1"
bugsalot = "^0"
flume = { version = "^0", features = ["async"] }
rpassword = "^6"
hostname = "^0"
stop-token = { version = "^0", default-features = false }

[target.'cfg(windows)'.dependencies]
windows-service = "^0"
ansi_term = "^0"

[target.'cfg(unix)'.dependencies]
daemonize = "^0"
signal-hook = "^0"
signal-hook-async-std = "^0"
nix = "^0"

[target.'cfg(target_os = "linux")'.dependencies]
tracing-journald = "^0"

[dev-dependencies]
serial_test = "^0"

[build-dependencies]
capnpc = "^0"
