# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "eva-common"
version = "0.4.1"
authors = ["Serhij S. <div@altertech.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Commons for EVA ICS v4"
readme = "README.md"
keywords = [
    "eva-ics",
    "iot",
    "industrial",
    "scada",
    "cloud",
]
license = "Apache-2.0"
repository = "https://github.com/eva-ics/eva4-common"

[package.metadata.docs.rs]
features = [
    "acl",
    "actions",
    "events",
    "time",
    "bus-rpc",
    "services",
    "registry",
    "workers",
    "dataconv",
    "db",
    "cache",
    "hyper-tools",
    "extended-value",
    "common-payloads",
    "payload",
    "logic",
    "logger",
    "axum",
    "serde-keyvalue",
    "time",
    "console-logger",
    "data-objects",
]

[package.metadata.playground]
features = [
    "acl",
    "actions",
    "events",
    "time",
    "bus-rpc",
    "services",
    "registry",
    "workers",
    "dataconv",
    "db",
    "cache",
    "hyper-tools",
    "extended-value",
    "common-payloads",
    "payload",
    "logic",
    "logger",
    "axum",
    "serde-keyvalue",
    "time",
    "console-logger",
    "data-objects",
]

[features]
acl = ["dep:submap"]
actions = ["dep:uuid"]
bus-rpc = [
    "dep:busrt",
    "payload",
]
cache = [
    "dep:tokio",
    "dep:sqlx",
    "payload",
]
common-payloads = [
    "dep:uuid",
    "dep:rand",
    "acl",
]
console-logger = ["dep:env_logger"]
data-objects = ["dep:binrw"]
dataconv = [
    "dep:hex",
    "dep:regex",
    "dep:uuid",
]
db = [
    "dep:yedb",
    "dep:sqlx",
]
events = ["acl"]
extended-value = [
    "dep:bmart",
    "dep:async-recursion",
    "dep:serde_yaml",
    "dep:tokio",
]
fips = [
    "openssl",
    "yedb/fips",
]
full = [
    "acl",
    "actions",
    "events",
    "time",
    "bus-rpc",
    "services",
    "registry",
    "workers",
    "dataconv",
    "db",
    "cache",
    "hyper-tools",
    "extended-value",
    "common-payloads",
    "payload",
    "logic",
    "logger",
    "axum",
    "serde-keyvalue",
    "dep:chrono",
    "console-logger",
    "data-objects",
    "multimedia",
]
hyper-tools = [
    "dep:hyper",
    "dep:hyper-static",
]
logger = [
    "dep:async-channel",
    "dep:busrt",
    "dep:tokio",
    "payload",
    "dep:uuid",
]
logic = []
multimedia = [
    "dep:gst",
    "dep:gst-video",
    "dep:binrw",
    "dep:strum",
]
nostd = []
openssl-vendored = ["openssl/vendored"]
payload = ["dep:rmp-serde"]
registry = [
    "dep:busrt",
    "payload",
]
serde-keyvalue = [
    "dep:nom",
    "dep:num-traits",
    "dep:thiserror",
    "dep:remain",
]
services = [
    "bus-rpc",
    "dep:tokio",
    "registry",
    "dep:nix",
]
skip_self_test_serde = []
time = [
    "dep:nix",
    "dep:dateparser",
    "dep:chrono",
]
workers = [
    "dep:bmart",
    "dep:tokio",
]

[lib]
name = "eva_common"
path = "src/lib.rs"

[dependencies.async-channel]
version = "1.7.1"
optional = true

[dependencies.async-recursion]
version = "1.0.0"
optional = true

[dependencies.axum]
version = "0.6.12"
features = []
optional = true
default-features = false

[dependencies.binrw]
version = "0.13.3"
optional = true

[dependencies.bmart]
version = "0.2.6"
optional = true

[dependencies.busrt]
version = "0.5"
features = [
    "ipc",
    "rpc",
]
optional = true

[dependencies.chrono]
version = "0.4.31"
optional = true

[dependencies.dateparser]
version = "0.1.7"
optional = true

[dependencies.env_logger]
version = "0.10"
optional = true

[dependencies.gst]
version = "0.24"
optional = true
package = "gstreamer"

[dependencies.gst-video]
version = "0.24"
optional = true
package = "gstreamer-video"

[dependencies.hex]
version = "0.4.3"
optional = true

[dependencies.hyper]
version = "0.14.18"
optional = true

[dependencies.hyper-static]
version = "0.1.5"
optional = true

[dependencies.ipnetwork]
version = "0.20.0"

[dependencies.libloading]
version = "0.7.0"
optional = true

[dependencies.log]
version = "0.4.14"

[dependencies.nix]
version = "0.25.0"
features = [
    "time",
    "user",
]
optional = true

[dependencies.nom]
version = "7.1.3"
optional = true

[dependencies.num-traits]
version = "0.2.17"
optional = true

[dependencies.openssl]
version = "0.10.63"
optional = true

[dependencies.ordered-float]
version = "2.8.0"

[dependencies.parking_lot]
version = "0.12.1"
package = "parking_lot_rt"

[dependencies.rand]
version = "0.8.5"
optional = true

[dependencies.regex]
version = "1.6.0"
optional = true

[dependencies.remain]
version = "0.2.11"
optional = true

[dependencies.rmp-serde]
version = "1.1.2"
optional = true

[dependencies.rust_decimal]
version = "1.39.0"

[dependencies.serde]
version = "1.0.143"
features = [
    "derive",
    "std",
    "rc",
]
default-features = false

[dependencies.serde_json]
version = "1.0.83"

[dependencies.serde_repr]
version = "0.1.7"

[dependencies.serde_yaml]
version = "0.1.3"
optional = true
package = "serde_yaml2"

[dependencies.sqlx]
version = "0.8"
features = [
    "runtime-tokio-native-tls",
    "sqlite",
    "postgres",
]
optional = true

[dependencies.strum]
version = "0.27"
features = [
    "derive",
    "strum_macros",
]
optional = true

[dependencies.submap]
version = "0.3.3"
optional = true

[dependencies.thiserror]
version = "1.0.51"
optional = true

[dependencies.tokio]
version = "1.20.1"
features = ["full"]
optional = true

[dependencies.uuid]
version = "1.1.2"
features = [
    "serde",
    "v4",
]
optional = true

[dependencies.yedb]
version = "0.5.1"
optional = true
