[package] name = "eva-common" version = "0.3.78" edition = "2021" authors = ["Serhij S. "] license = "Apache-2.0" repository = "https://github.com/eva-ics/eva4-common" description = "Commons for EVA ICS v4" readme = "README.md" keywords = ["eva-ics", "iot", "industrial", "scada", "cloud"] [package.metadata.docs.rs] features = ["full", "openssl-no-fips"] [package.metadata.playground] features = ["full", "openssl-no-fips"] [lib] name = "eva_common" path = "src/lib.rs" [dependencies] serde = { version = "1.0.143", default-features = false, features = ["derive", "std", "rc"] } serde_repr = "0.1.7" serde_json = "1.0.83" ordered-float = "2.8.0" log = "0.4.14" ipnetwork = "0.20.0" rust_decimal = "1.31.0" libloading = { version = "0.7.0", optional = true } lazy_static = { version = "1.4.0" } busrt = { version = "0.4", features = ["ipc","rpc"], optional = true } nix = { version = "0.25.0", features = ["time", "user"], optional = true } rmp-serde = { version = "1.1.2", optional = true } uuid = { version = "1.1.2", features = ["serde", "v4"], optional = true } bmart = { version = "0.2.6", optional = true } tokio = { version = "1.20.1", features = ["full"], optional = true } async-recursion = { version = "1.0.0", optional = true } async-channel = { version = "1.7.1", optional = true } hex = { version = "0.4.3", optional = true } regex = { version = "1.6.0", optional = true } yedb = { version = "0.4.11", optional = true } sqlx = { version = "0.6", features = [ "runtime-tokio-native-tls" , "sqlite", "postgres" ], optional = true } hyper = { version = "0.14.18", optional = true } serde_yaml = { version = "0.8.26", optional = true } rand = { version = "0.8.5", optional = true } hyper-static = { version = "0.1.5", optional = true } submap = { version = "0.2.7", optional = true } once_cell = { version = "1.13.1", optional = true } dateparser = { version = "0.1.7", optional = true } openssl = { version = "0.10.63", optional = true } axum = { version = "0.6.12", default_features=false, features=[], optional = true } parking_lot = { package = "parking_lot_rt", version = "0.12.1" } nom = { version = "7.1.3", optional = true } num-traits = { version = "0.2.17", optional = true } thiserror = { version = "1.0.51", optional = true } remain = { version = "0.2.11", optional = true } chrono = { version = "0.4.31", optional = true } env_logger = { version = "0.10", optional = true } binrw = { version = "0.13.3", optional = true } [features] nostd = [] #ext = ["payload", "log", "libloading"] acl = ["submap"] # access control lists events = ["acl"] # common events services = ["bus-rpc", "tokio", "registry", "nix", "openssl"] # service structures and tools actions = ["uuid"] # action structures and tools registry = ["busrt", "payload"] logger = ["async-channel", "busrt", "tokio", "once_cell", "payload", "uuid"] extended-value = ["bmart", "async-recursion", "serde_yaml", "tokio"] time = ["nix", "dateparser", "chrono"] # timestamp helpers db = ["yedb", "sqlx", "once_cell"] # db bindings openssl-vendored = ["openssl/vendored"] bus-rpc = ["busrt", "payload"] # bus/rt bindings serde-keyvalue = ["nom", "num-traits", "thiserror", "remain"] workers = ["bmart", "tokio"] # misc workers dataconv = ["hex", "regex", "uuid"] # data conversion bindings cache = ["tokio", "sqlx", "payload"] payload = ["rmp-serde"] logic = [] common-payloads = ["uuid", "rand"] hyper-tools = ["hyper", "hyper-static"] 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", "chrono", "console-logger", "data-objects"] skip_self_test_serde = [] openssl-no-fips = [] openssl3 = ["once_cell"] console-logger = ["env_logger", "once_cell"] data-objects = ["binrw"]