forked from meshtastic/rust
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
76 lines (62 loc) · 2.21 KB
/
Cargo.toml
File metadata and controls
76 lines (62 loc) · 2.21 KB
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
[package]
name = "meshtastic"
description = "A Rust library for communicating with and configuring Meshtastic devices."
homepage = "https://meshtastic.org/"
repository = "https://github.com/meshtastic/rust"
keywords = ["meshtastic", "mesh", "lora", "tcp", "serial"]
categories = ["embedded", "config", "encoding"]
authors = ["Adam McQuilkin"]
readme = "README.md"
license = "GPL-3.0"
version = "0.1.6"
rust-version = "1.76"
edition = "2021"
[lib]
doctest = false
[features]
default = ["serde"]
gen = ["dep:prost-build", "dep:protoc-bin-vendored", "dep:walkdir"]
serde = ["dep:serde", "dep:serde_json"]
ts-gen = ["gen", "serde", "dep:specta"]
bluetooth-le = ["dep:uuid", "dep:btleplug", "dep:futures", "dep:bluez-async"]
[lints.rust]
missing_docs = "warn"
[[example]]
name = "basic_serial"
[[example]]
name = "basic_tcp"
[[example]]
name = "message_filtering"
[[example]]
name = "generate_typescript_types"
required-features = ["ts-gen"]
[[example]]
name = "basic_ble"
required-features = ["bluetooth-le"]
[build-dependencies]
prost-build = { version = "0.14", optional = true }
protoc-bin-vendored = { version = "3.1.0", optional = true }
walkdir = { version = "2.5.0", optional = true }
[dependencies]
futures-util = "0.3.31"
rand = "0.9.0"
tokio = { version = "1.43.0", features = ["full"] }
tokio-serial = "5.4.5"
tokio-util = "0.7.13"
prost = "0.14"
log = "0.4.25"
specta = { git = "https://github.com/ajmcquilkin/specta.git", rev = "6a8731d", optional = true, features = ["chrono"], version = "=1.0.3" }
serde = { version = "1.0", features = ["derive"], optional = true }
serde_json = { version = "1.0", optional = true }
thiserror = "2.0.11"
uuid = { version = "1.12.1", optional = true }
btleplug = { version = "0.11.7", optional = true }
futures = { version = "0.3.31", optional = true }
#TODO: drop pinning of the bluez-async version once we move the MSRV to 1.84 and we can use
#MSRV-aware resolver instead of this hack. See
#https://blog.rust-lang.org/2025/01/09/Rust-1.84.0/#cargo-considers-rust-versions-for-dependency-version-selection
[target.'cfg(target_os = "linux")'.dependencies]
bluez-async = { version = "=0.8.0", optional = true }
[dev-dependencies]
fern = { version = "0.7.1", features = ["colored"] }
humantime = "2.1.0"