[package]
# --- Bumpversion match - do not reorder
name = "veilid-flutter"
version = "0.1.10"
# ---
authors = ["Veilid Team <contact@veilid.com>"]
license = "MPL-2.0"
edition = "2021"

[lib]
crate-type = ["cdylib", "staticlib", "rlib"]

[features]
default = ["rt-tokio", "veilid-core/default"]
crypto-test = ["rt-tokio", "veilid-core/crypto-test"]
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",
]

[dependencies]
veilid-core = { path = "../../veilid-core", default-features = false, features = [
    "verbose-tracing",
    "network-result-extra",
] }
tracing = { version = "^0", features = ["log", "attributes"] }
tracing-subscriber = "^0"
parking_lot = "^0"
backtrace = "^0"
serde_json = "^1"
serde = "^1"
futures-util = { version = "^0", default_features = false, features = [
    "alloc",
] }
cfg-if = "^1"
data-encoding = { version = "^2" }

# Dependencies for native builds only
# Linux, Windows, Mac, iOS, Android
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
tracing-opentelemetry = "0.18"
opentelemetry = { version = "0.18" }
opentelemetry-otlp = { version = "0.11" }
opentelemetry-semantic-conventions = "0.10"
async-std = { version = "^1", features = ["unstable"], optional = true }
tokio = { version = "^1", features = ["full"], optional = true }
tokio-stream = { version = "^0", features = ["net"], optional = true }
tokio-util = { version = "^0", features = ["compat"], optional = true }
allo-isolate = "^0"
ffi-support = "^0"
lazy_static = "^1"
hostname = "^0"

# Dependencies for WASM builds only
[target.'cfg(target_arch = "wasm32")'.dependencies]

# Dependencies for Android builds only
[target.'cfg(target_os = "android")'.dependencies]
jni = "^0"