# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "probe-rs"
version = "0.31.0"
authors = [
    "Noah Hüsser <yatekii@yatekii.ch>",
    "Dominik Boehi <dominik.boehi@gmail.ch>",
    "Jack Noppe <noppej@hotmail.com>",
]
build = "build.rs"
exclude = ["tests/"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A collection of on chip debugging tools to communicate with microchips."
homepage = "https://github.com/probe-rs/probe-rs"
documentation = "https://docs.rs/probe-rs/"
readme = "README.md"
keywords = ["embedded"]
categories = [
    "embedded",
    "hardware-support",
    "development-tools::debugging",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/probe-rs/probe-rs"
resolver = "2"

[[package.metadata.release.pre-release-replacements]]
file = "../CHANGELOG.md"
search = '## \[Unreleased\]'
replace = """
## [{{version}}]

Released {{date}}"""

[[package.metadata.release.pre-release-replacements]]
file = "../CHANGELOG.md"
search = '\[unreleased\]: https://github.com/probe-rs/probe-rs/compare/v([a-z0-9.-]+)\.\.\.master'
replace = """
[unreleased]: https://github.com/probe-rs/probe-rs/compare/v{{version}}...master
[{{version}}]: https://github.com/probe-rs/probe-rs/compare/v$1...v{{version}}"""

[package.metadata.docs.rs]
features = ["builtin-targets"]
rustdoc-args = [
    "--cfg",
    "probers_docsrs",
]

[features]
builtin-targets = [
    "dep:bincode",
    "dep:serde_yaml",
    "dep:probe-rs-target",
]
cmsisdap_v1 = ["dep:hidapi"]
default = [
    "builtin-targets",
    "cmsisdap_v1",
]
test = []

[lib]
name = "probe_rs"
path = "src/lib.rs"

[[example]]
name = "multidrop_raw"
path = "examples/multidrop_raw.rs"

[[example]]
name = "nrf53_recover"
path = "examples/nrf53_recover.rs"

[[example]]
name = "ram_download"
path = "examples/ram_download.rs"

[[example]]
name = "raw_dap_access"
path = "examples/raw_dap_access.rs"

[[example]]
name = "tcp_itm"
path = "examples/tcp_itm.rs"

[dependencies.anyhow]
version = "1.0.82"

[dependencies.async-io]
version = "2"

[dependencies.bincode]
version = "2"
features = ["serde"]
optional = true

[dependencies.bitfield]
version = "0.19.0"

[dependencies.bitvec]
version = "1"

[dependencies.cobs]
version = "0.5"

[dependencies.docsplay]
version = "0.1.1"

[dependencies.dunce]
version = "1.0.5"

[dependencies.espflash]
version = "4"
default-features = false

[dependencies.flate2]
version = "1.0"

[dependencies.futures-lite]
version = "2"
default-features = false

[dependencies.hexdump]
version = "0.1"
optional = true

[dependencies.hidapi]
version = "2.6.4"
features = ["linux-native-basic-udev"]
optional = true
default-features = false

[dependencies.ihex]
version = "3.0"

[dependencies.itertools]
version = "0.14"

[dependencies.jep106]
version = "0.3"

[dependencies.nusb]
version = "0.2.1"

[dependencies.object]
version = "0.38"
features = [
    "elf",
    "read_core",
    "std",
]
default-features = false

[dependencies.parking_lot]
version = "0.12.2"

[dependencies.probe-rs-target]
version = "0.31.0"

[dependencies.rmp-serde]
version = "1"

[dependencies.scroll]
version = "0.13"

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.serde_yaml]
version = "0.9"

[dependencies.serialport]
version = "4.7.0"
features = ["usbportinfo-interface"]
default-features = false

[dependencies.thiserror]
version = "2.0.11"

[dependencies.tracing]
version = "0.1"

[dependencies.uf2-decode]
version = "0.2"

[dependencies.zerocopy]
version = "0.8.0"
features = ["derive"]

[dev-dependencies.clap]
version = "4"
features = ["derive"]

[dev-dependencies.env_logger]
version = "0.11"

[dev-dependencies.fastrand]
version = "2.1"

[dev-dependencies.insta]
version = "1.38"
default-features = false

[dev-dependencies.itm]
version = "0.9.0-rc.1"
default-features = false

[dev-dependencies.pretty_assertions]
version = "1"

[dev-dependencies.serde]
version = "1"

[dev-dependencies.serde_json]
version = "1"

[dev-dependencies.test-case]
version = "3"

[dev-dependencies.test-log]
version = "0.2.16"
features = ["trace"]

[build-dependencies.bincode]
version = "2"
features = ["serde"]
optional = true

[build-dependencies.probe-rs-target]
version = "0.31.0"
optional = true

[build-dependencies.serde_yaml]
version = "0.9"
optional = true

[lints.clippy]
enum_glob_use = "deny"
macro_use_imports = "deny"
unnecessary_self_imports = "deny"
