# 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 = "2021"
name = "roboplc"
version = "0.4.6"
authors = ["Serhij S.
"]
autoexamples = false
description = "Framework for PLCs and real-time micro-services"
readme = "README.md"
keywords = [
"realtime",
"robots",
"plc",
"industrial",
]
license = "Apache-2.0"
repository = "https://github.com/roboplc/roboplc"
[package.metadata.docs.rs]
features = [
"full",
"eva-common/openssl-no-fips",
]
[package.metadata.playground]
features = [
"full",
"eva-common/openssl-no-fips",
]
[[example]]
name = "modbus-master"
path = "examples/modbus-master.rs"
required-features = ["modbus"]
[[example]]
name = "modbus-slave"
path = "examples/modbus-slave.rs"
required-features = ["modbus"]
[[example]]
name = "raw-udp"
path = "examples/raw-udp.rs"
[[example]]
name = "shutdown"
path = "examples/shutdown.rs"
[[example]]
name = "shutdown-custom"
path = "examples/shutdown-custom.rs"
[[example]]
name = "pipe"
path = "examples/pipe.rs"
required-features = ["pipe"]
[[example]]
name = "rflow"
path = "examples/rflow.rs"
required-features = ["rflow"]
[[example]]
name = "eapi"
path = "examples/eapi.rs"
required-features = ["eapi"]
[[example]]
name = "snmp-modbus"
path = "examples/snmp-modbus.rs"
required-features = [
"modbus",
"snmp",
]
[dependencies.binrw]
version = "0.14.0"
[dependencies.bma-ts]
version = "0.1"
features = ["serde"]
[dependencies.busrt]
version = "0.4.9"
features = [
"rpc",
"ipc",
]
optional = true
[dependencies.bytemuck]
version = "1.17.1"
[dependencies.bytes]
version = "1.7.1"
[dependencies.colored]
version = "1"
[dependencies.env_logger]
version = "0.10"
[dependencies.eva-common]
version = "0.3.71"
features = [
"events",
"payload",
"common-payloads",
"acl",
]
optional = true
[dependencies.eva-sdk]
version = "0.3.49"
features = ["controller"]
optional = true
[dependencies.hostname]
version = "0.3.1"
optional = true
[dependencies.libc]
version = "0.2.153"
[dependencies.log]
version = "0.4.21"
[dependencies.metrics]
version = "0.22.3"
optional = true
[dependencies.metrics-exporter-prometheus]
version = "0.14.0"
features = ["http-listener"]
optional = true
default-features = false
[dependencies.metrics-exporter-scope]
version = "0.1.3"
features = ["msrv"]
optional = true
default-features = false
[dependencies.nix]
version = "0.27"
features = ["signal"]
[dependencies.object-id]
version = "0.1.3"
[dependencies.once_cell]
version = "1.19.0"
optional = true
[dependencies.oneshot]
version = "0.1.6"
features = ["std"]
default-features = false
[dependencies.parking_lot]
version = "0.12.3"
optional = true
[dependencies.parking_lot_rt]
version = "0.12.1"
optional = true
[dependencies.pin-project]
version = "1.1.5"
[dependencies.rflow]
version = "0.1"
optional = true
default-features = false
[dependencies.rmodbus]
version = "0.9.4"
optional = true
[dependencies.roboplc-derive]
version = "0.3"
[dependencies.rtsc]
version = "0.3"
[dependencies.rvideo]
version = "0.5"
optional = true
default-features = false
[dependencies.serde]
version = "1.0"
features = [
"derive",
"rc",
]
[dependencies.serial]
version = "0.4.0"
[dependencies.signal-hook]
version = "0.3.17"
[dependencies.snmp]
version = "0.2.2"
optional = true
[dependencies.sysinfo]
version = "0.29"
[dependencies.thiserror]
version = "1.0.57"
[dependencies.tokio]
version = "1.36.0"
optional = true
[dependencies.tracing]
version = "0.1.40"
[dev-dependencies.insta]
version = "1.36.1"
[dev-dependencies.log]
version = "0.4.21"
[dev-dependencies.tokio]
version = "=1.36.0"
features = [
"rt",
"macros",
"time",
]
[dev-dependencies.tokio-util]
version = "=0.7.11"
[dev-dependencies.tracing]
version = "0.1.40"
features = ["log"]
[features]
async = ["dep:parking_lot_rt"]
default = ["locking-default"]
eapi = [
"eva-common",
"eva-sdk",
"busrt",
"tokio",
"hostname",
"once_cell",
]
full = [
"eapi",
"modbus",
"metrics",
"pipe",
"rvideo",
"rflow",
"async",
]
locking-default = [
"dep:parking_lot",
"rtsc/parking_lot",
"rvideo?/locking-default",
"rflow?/locking-default",
]
locking-rt = [
"dep:parking_lot_rt",
"rvideo?/locking-rt",
"rflow?/locking-rt",
]
locking-rt-safe = [
"rvideo?/locking-rt-safe",
"rflow?/locking-rt-safe",
]
metrics = [
"dep:metrics",
"metrics-exporter-prometheus",
"metrics-exporter-scope",
"tokio",
]
modbus = ["rmodbus"]
openssl-vendored = [
"busrt/openssl-vendored",
"eva-common/openssl-vendored",
]
pipe = [
"tokio/process",
"tokio/io-util",
"tokio/macros",
"tokio/rt",
"tokio/time",
]
rflow = ["dep:rflow"]
rvideo = ["dep:rvideo"]
[target."cfg(windows)".dependencies.parking_lot_rt]
version = "0.12.1"