-
Notifications
You must be signed in to change notification settings - Fork 12
/
Cargo.toml
145 lines (136 loc) · 4.2 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# This file is part of Astarte.
#
# Copyright 2022 SECO Mind Srl
#
# SPDX-License-Identifier: CC0-1.0
[package]
name = "astarte-device-sdk"
version = { workspace = true }
categories = ["embedded", "api-bindings"]
documentation = "https://docs.rs/astarte-device-sdk"
edition = { workspace = true }
homepage = { workspace = true }
include = [
"/LICENSES",
"/examples",
"/migrations",
"/queries",
"/src",
"/CHANGELOG.md",
"/LICENSE",
"/README.md",
"!*.sqlite*",
]
keywords = ["sdk", "iot", "astarte"]
license = { workspace = true }
readme = "README.md"
repository = { workspace = true }
rust-version = { workspace = true }
description = "A library that provides communication and pairing primitives to an Astarte Cluster"
[workspace]
resolver = "2"
members = [
"astarte-device-sdk-derive",
"astarte-device-sdk-mock",
"e2e-test",
]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[workspace.package]
version = "0.9.2"
edition = "2021"
homepage = "https://astarte.cloud/"
license = "Apache-2.0"
repository = "https://github.com/astarte-platform/astarte-device-sdk-rust"
rust-version = "1.78.0"
[dependencies]
astarte-device-sdk-derive = { workspace = true, optional = true }
astarte-message-hub-proto = { workspace = true, optional = true }
base64 = { workspace = true }
bson = { workspace = true, features = ["chrono-0_4"] }
bytes = { workspace = true }
chrono = { workspace = true, features = ["serde"] }
flate2 = { workspace = true }
flume = { workspace = true, features = ["async"] }
futures = { workspace = true }
http = { workspace = true }
itertools = { workspace = true }
openssl = { workspace = true, optional = true }
rand_core = { workspace = true, features = ["getrandom"] }
rcgen = { workspace = true }
reqwest = { workspace = true, features = ["json", "rustls-tls"] }
rumqttc = { workspace = true, features = ["use-rustls"] }
rusqlite = { workspace = true }
rustls = { workspace = true }
rustls-native-certs = { workspace = true }
rustls-pemfile = { workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
sync_wrapper = { workspace = true }
thiserror = { workspace = true }
tokio = { workspace = true, features = ["parking_lot", "macros", "fs"] }
tracing = { workspace = true }
url = { workspace = true, features = ["serde"] }
uuid = { workspace = true, features = ["v4", "v5"] }
[dev-dependencies]
astarte-device-sdk-derive = { workspace = true }
async-trait = { workspace = true }
env_logger = { workspace = true }
mockall = { workspace = true }
mockito = { workspace = true }
tempfile = { workspace = true }
tokio = { workspace = true, features = ["rt", "rt-multi-thread", "signal"] }
tokio-stream = { workspace = true, features = ["net"] }
[features]
default = ["interface-strict", "sqlite-trace", "tokio-multi-thread"]
derive = ["dep:astarte-device-sdk-derive"]
interface-doc = []
interface-strict = []
message-hub = ["dep:astarte-message-hub-proto"]
openssl = ["dep:openssl"]
sqlite-trace = ["rusqlite/trace"]
tokio-multi-thread = ["tokio/rt-multi-thread"]
[package.metadata.docs.rs]
all-features = true
rustc-args = ["--cfg=docsrs"]
[workspace.dependencies]
astarte-device-sdk = { path = "./", version = "=0.9.2" }
astarte-device-sdk-derive = { version = "=0.9.2", path = "./astarte-device-sdk-derive" }
astarte-message-hub-proto = { git = "https://github.com/astarte-platform/astarte-message-hub-proto.git", rev = "5ff0672d8fdc8cba5a2ff023895ae505d75c3d1a" }
async-trait = "0.1.67"
base64 = "0.22.0"
bson = "2.7.0"
bytes = "1.5.0"
chrono = "0.4.20"
color-eyre = "0.6.3"
env_logger = "0.11.0"
eyre = "0.6.12"
flate2 = "1.0.0"
flume = "0.11.0"
futures = "0.3.0"
http = "1.0.0"
itertools = "0.11.0"
mockall = "0.12.1"
mockito = "1.4.0"
openssl = "0.10.46"
proc-macro2 = "1.0.75"
quote = "1.0.35"
rand_core = "0.6.4"
rcgen = "0.13.1"
reqwest = "0.12.0"
rumqttc = { package = "rumqttc-dev-patched", version = "0.24.0-devpatch" }
rusqlite = "0.29.0"
rustls = "0.22.2"
rustls-native-certs = "0.7.0"
rustls-pemfile = "2.1.0"
serde = "1.0.184"
serde_json = "1.0.85"
syn = "2.0.52"
sync_wrapper = "1.0.0"
tempfile = "3.6.0"
thiserror = "1.0.35"
tokio = "1.36.0"
tokio-stream = "0.1.0"
tracing = "0.1.37"
tracing-subscriber = "0.3.0"
url = "2.2.2"
uuid = "1.1.2"