[package]
name = "duckman"
version = "0.1.4"
edition = "2024"
authors = ["linux_china <libing.chen@gmail.com>"]
description = "duckman - a DuckDB version manager and toolchain CLI"
keywords = ["duckdb", "version-manager", "database-tools", "cli"]
categories = ["command-line-utilities"]
documentation = "https://github.com/linux-china/duckman"
readme = "README.md"
homepage = "https://github.com/linux-china/duckman"
repository = "https://github.com/linux-china/duckman"
license = "MIT"

default-run = "duckman"

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

[[bin]]
name = "duckman_shim"
path = "src/shim.rs"

[dependencies]
tokio = { version = "1.52", features = ["full"] }
serde = { version = "1.0", features = ["derive"] }
csv = "1.4"
reqwest = { version = "0.13", features = ["json", "stream"] }
clap = "4.6"
clap_complete = "4.6"
colored = "3.1"
zip = "8.6"
dirs = "6"
anyhow = "1"
indicatif = "0.18"
futures-util = { version = "0.3", default-features = false, features = ["std"] }
toml = "1.1.2+spec-1.1.0"
toml_edit = "0.25.11+spec-1.1.0"
lazy_static = "1.5.0"
which = "8"
dotenvx-rs = "0.4.31"

[dev-dependencies]
testresult = "0.4.1"

[target.'cfg(target_os = "linux")'.dependencies]
openssl = { version = "0.10", features = ["vendored"] }

[profile.dev]
opt-level = 0
debug = 0

[profile.dev.package."*"]
opt-level = 3

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

# The profile that 'cargo dist' will build with
[profile.dist]
inherits = "release"
lto = true
