# This file is part of Astarte. # # Copyright 2022 SECO Mind Srl # # SPDX-License-Identifier: CC0-1.0 [workspace] members = ["e2e-test"] [workspace.package] version = "0.7.0" edition = "2021" homepage = "https://astarte.cloud/" license = "Apache-2.0" repository = "https://github.com/astarte-platform/astarte-message-hub" rust-version = "1.72.0" [package] name = "astarte-message-hub" version = { workspace = true } categories = ["network-programming"] documentation = "https://docs.rs/astarte-message-hub" edition = { workspace = true } homepage = { workspace = true } keywords = ["sdk", "iot", "astarte"] license = { workspace = true } readme = "README.md" repository = { workspace = true } rust-version = { workspace = true } description = "A central service that runs on (Linux) devices for collecting and delivering messages from N apps using 1 MQTT connection to Astarte" [dependencies] astarte-device-sdk = { workspace = true, features = ["derive", "message-hub"] } astarte-message-hub-proto = { workspace = true } async-trait = { workspace = true } axum = { workspace = true } chrono = { workspace = true } clap = { workspace = true, features = ["derive", "env"] } displaydoc = { workspace = true } env_logger = { workspace = true } eyre = { workspace = true } futures = { workspace = true } hyper = { workspace = true } itertools = { workspace = true } log = { workspace = true } pbjson-types = { workspace = true } prost = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } stable-eyre = { workspace = true } thiserror = { workspace = true } tokio = { workspace = true, features = ["rt-multi-thread", "sync", "macros", "signal"] } tokio-stream = { workspace = true, features = ["net"] } tokio-util = { workspace = true } toml = { workspace = true } tonic = { workspace = true } tower = { workspace = true } uuid = { workspace = true } zbus = { workspace = true, default-features = false, features = ["tokio"] } [dev-dependencies] astarte-device-sdk-mock = { workspace = true } mockall = { workspace = true } reqwest = { workspace = true, features = ["json"] } serial_test = { workspace = true } tempfile = { workspace = true } [workspace.dependencies] astarte-device-sdk = "0.9.2" astarte-device-sdk-mock = "0.9.2" astarte-message-hub-proto = "0.7.0" async-trait = "0.1.80" axum = "0.7.5" base64 = "0.22.0" chrono = "0.4.38" clap = "<4.5.0" color-eyre = "0.6.3" displaydoc = "0.2.4" env_logger = "0.11.3" eyre = "0.6.12" futures = "0.3.30" hyper = "0.14.28" itertools = "0.12.1" log = "0.4.21" mockall = "0.12.1" pbjson-types = "0.6.0" prost = "0.12.4" reqwest = "0.12.3" serde = "1.0.198" serde_json = "1.0.0" serial_test = "3.0.0" stable-eyre = "0.2.2" tempfile = "3.10.1" thiserror = "1.0.60" tokio = "1.37.0" tokio-stream = "0.1.15" tokio-util = "0.7.10" toml = "0.8.12" tonic = "0.11.0" tower = "0.4.13" tower-http = "0.4.4" tracing = "0.1.40" tracing-subscriber = "0.3.18" uuid = "1.8.0" zbus = { version = "3.15.2", default-features = false } [patch.crates-io] # Temporary till fix is unstreamed displaydoc = { git = "https://github.com/joshuachp/displaydoc" }