Files
mxaccess/rust/crates/mxaccess/Cargo.toml
T

52 lines
2.0 KiB
TOML

[package]
name = "mxaccess"
description = "Async Tokio façade for AVEVA / Wonderware MXAccess. Exposes Session, Subscription, Transport trait, and the public Error model."
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
authors.workspace = true
[dependencies]
mxaccess-codec = { path = "../mxaccess-codec", version = "0.0.0" }
mxaccess-callback = { path = "../mxaccess-callback", version = "0.0.0" }
mxaccess-galaxy = { path = "../mxaccess-galaxy", version = "0.0.0" }
mxaccess-nmx = { path = "../mxaccess-nmx", version = "0.0.0" }
mxaccess-rpc = { path = "../mxaccess-rpc", version = "0.0.0" }
mxaccess-asb = { path = "../mxaccess-asb", version = "0.0.0" }
mxaccess-asb-nettcp = { path = "../mxaccess-asb-nettcp", version = "0.0.0" }
thiserror = { workspace = true }
tokio = { workspace = true }
tracing = { workspace = true }
futures-util = { workspace = true }
tokio-stream = { version = "0.1", features = ["sync"] }
rand = "0.8"
# F40 — optional `metrics` feature. Default build does NOT depend on
# this crate; enable via `--features metrics` to wire counters and
# histograms into a downstream `metrics::Recorder`.
metrics = { workspace = true, optional = true }
[dev-dependencies]
async-trait = { workspace = true }
[features]
default = []
# Transport feature gates land in M2-M5.
nmx = []
asb = []
# F40 — wire counters / histograms / gauges via the `metrics` crate.
# Default build is allocation-neutral: no `metrics` dep, no runtime cost.
# See `src/metrics.rs` for the emitted metric inventory.
metrics = ["dep:metrics"]
serde = ["mxaccess-codec/serde"]
# `live` gates integration tests that hit a running AVEVA install. Driven by
# the `MX_LIVE` env var via `tools/Setup-LiveProbeEnv.ps1`.
live = []
# Pulls F12's `Session::connect_nmx_auto` constructor — the auto-resolving
# COM-activation path. Propagates to `mxaccess-nmx/windows-com`.
windows-com = ["mxaccess-nmx/windows-com"]
[lints]
workspace = true