[package]
name = "anti"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
description.workspace = true
keywords.workspace = true
categories.workspace = true

[[bin]]
name = "anti"
path = "src/main.rs"

[workspace]
members = [
  "crates/anti-ping",
  "crates/anti-traceroute",
  "crates/anti-common",
  ".",
]
resolver = "2"

[workspace.package]
version = "0.1.0"
edition = "2021"
authors = ["Wouter Coppieters"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/wouterken/anti"
description = "Unified CLI toolbox"
keywords = ["networking", "ping", "icmp", "udp", "tcp"]
categories = ["network-programming", "command-line-utilities"]

[workspace.dependencies]
# Core networking
socket2 = { version = "0.5", features = ["all"] }
bytes = "1.0"
rand = "0.8"

# CLI and async
clap = { version = "4.0", features = ["derive"] }
tokio = { version = "1.0", features = [
  "net",
  "time",
  "rt-multi-thread",
  "macros",
] }

# Error handling and utilities
anyhow = "1.0"
thiserror = "1.0"
serde = { version = "1.0", features = ["derive"] }

# Testing
criterion = "0.5"

[dependencies]
anti-ping = { path = "crates/anti-ping", version = "0.1.0" }
anti-traceroute = { path = "crates/anti-traceroute", version = "0.1.0" }
anti-common = { path = "crates/anti-common", version = "0.1.0" }
clap.workspace = true
anyhow.workspace = true
tokio.workspace = true
serde.workspace = true

[dev-dependencies]
criterion.workspace = true

[profile.release]
lto = true
codegen-units = 1
panic = "abort"
strip = true
