blob: c6aee1d50c07203e147c6feb0e40ba8116793fa6 [file]
[package]
name = "probe-rs-tools"
version.workspace = true
edition.workspace = true
documentation.workspace = true
# This is used by cargo-dist when creating the homebrew package.
# Using homepage.workspace seems to fail when cargo-dist is used.
homepage = "https://probe.rs"
repository.workspace = true
readme.workspace = true
license.workspace = true
description = "A collection of on chip debugging tools to communicate with microchips."
default-run = "probe-rs"
[features]
default = []
# Include server/client functionality
remote = [
"dep:tokio-tungstenite",
"dep:axum",
"dep:axum-extra",
"dep:rustls",
"dep:tempfile",
]
[dependencies]
anyhow = { workspace = true }
base64 = "0.22"
docsplay = { workspace = true }
jep106 = "0.2"
num-traits = "0.2"
scroll = "0.12"
serde = { version = "1", features = ["derive"] }
serde_yaml = "0.9"
thiserror = { workspace = true }
tracing = "0.1"
typed-path = "0.10"
probe-rs-mi = { workspace = true }
itertools = "0.14"
# CLI-only
addr2line = "0.24"
bytesize = "2"
capstone = "0.13"
cargo_metadata = "0.19"
clap = { version = "4", features = ["derive", "env"] }
colored = "3"
defmt-decoder = "0.4"
directories = "6"
dunce = "1"
figment = { version = "0.10", features = ["toml", "json", "yaml", "env"] }
goblin = { version = "0.9", default-features = false, features = [
"std",
"elf32",
"elf64",
"endian_fd",
] }
indicatif = "0.17"
insta = { version = "1.38", default-features = false, features = ["yaml"] }
itm = { version = "0.9.0-rc.1", default-features = false }
parse_int = "0.6"
libtest-mimic = "0.8.0"
fastrand = "2.1"
rustyline = { version = "15", default-features = false, features = [
"with-dirs",
"with-file-history",
] }
sanitize-filename = "0.6"
schemafy = "0.6"
serde_json = "1.0.116"
signal-hook = { version = "0.3", default-features = false }
# Version 0.14.6 fails to compile
svd-parser = { version = "=0.14.9", features = ["expand"] }
termtree = "0.5"
textwrap = { version = "0.16", default-features = false, features = [
"unicode-linebreak",
"unicode-width",
] }
time = { version = "0.3", default-features = false, features = [
"formatting",
"macros",
"local-offset",
] }
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
tracing-appender = "0.2"
ratatui = { version = "0.29.0", default-features = false, features = [
"crossterm",
] }
ansi-parser = "0.9.0"
probe-rs = { version = "0.27.0", path = "../probe-rs" }
parking_lot = "0.12.2"
cargo-config2 = "0.1.26"
clap_complete = "4.5.2"
regex = "1.10.4"
zip = { version = "2.0.0", default-features = false, features = [
"deflate",
"time",
] }
urlencoding = "2"
probe-rs-debug = { version = "0.27.0", path = "../probe-rs-debug" }
probe-rs-target = { workspace = true }
svg = "0.18"
# Server-only
tokio = { version = "1.0", features = ["full"] }
tokio-util = "0.7"
futures-util = { version = "0.3" }
rustls = { version = "0.23", default-features = false, features = ["std", "ring"], optional = true }
tokio-tungstenite = { version = "0.26", features = ["rustls-tls-webpki-roots"], optional = true }
axum = { version = "0.8", features = ["ws"], optional = true }
axum-extra = { version = "0.10", features = ["typed-header"], optional = true }
tempfile = { version = "3.0", optional = true }
postcard = { version = "1.0", features = ["use-std"] }
postcard-rpc = { version = "0.11.8", features = ["use-std"] }
postcard-schema = { version = "0.2.0", features = ["use-std", "derive"] }
sha2 = "0.10"
# gdb server
gdbstub = "0.7"
[build-dependencies]
git-version = "0.3"
[dev-dependencies]
pretty_assertions = "1.4.0"
test-case = "3"
# Set the proper name for the homebrew formula
[package.metadata.dist]
formula = "probe-rs"
[lints]
workspace = true