[package]
name = "dora-ros2-bridge"
version.workspace = true
edition.workspace = true
license.workspace = true
description = "ROS2 bridge for dora-rs"
links = "dora-ros2-bridge"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[features]
default = ["generate-messages"]
generate-messages = ["dep:dora-ros2-bridge-msg-gen", "dep:rust-format"]
# enables examples that depend on a sourced ROS2 installation
ros2-examples = ["dep:eyre", "tokio", "dora-daemon"]

[dependencies]
array-init = "2.1.0"
serde = { version = "1.0.164", features = ["derive"] }
serde-big-array = "0.5.1"
widestring = "1.0.2"
ros2-client = "0.8.0"
rustdds = "0.11.0"
eyre = { version = "0.6.8", optional = true }
tokio = { version = "1.29.1", features = ["full"], optional = true }
dora-daemon = { workspace = true, optional = true }
tracing = "0.1.37"
tracing-subscriber = "0.3.17"
flume = "0.11.0"
futures = { version = "0.3.21", features = ["thread-pool"] }
futures-timer = "3.0.3"

[dev-dependencies]
rand = "0.8.5"
futures = { version = "0.3.28", default-features = false }

[build-dependencies]
dora-ros2-bridge-msg-gen = { workspace = true, optional = true }
rust-format = { version = "0.3.4", features = [
    "pretty_please",
], optional = true }
