[package]
name = "hydro_deploy"
publish = true
version = "0.17.0-alpha.0"
documentation = "https://docs.rs/hydro_deploy/"
description = "Hydro Deploy"
edition = { workspace = true }
repository = { workspace = true }
license = { workspace = true }

[lints]
workspace = true

[features]
default = []
profile-folding = ["dep:inferno", "dep:wholesym", "dep:itertools"]

[dependencies]
anyhow = { version = "1.0.82", features = ["backtrace"] }
append-only-vec = "0.1.8"
async-ssh2-russh = { version = "0.2.0", features = [ "sftp" ] }
async-process = "2.0.0"
async-recursion = "1.0.0"
async-trait = "0.1.54"
blake3 = "1.8.2"
buildstructor = "0.6.0"
bytes = "1.1.0"
cargo_metadata = "0.18.0"
dunce = "1.0.0"
futures = "0.3.0"
hydro_deploy_integration = { path = "../hydro_deploy_integration", version = "^0.17.0-alpha.0" }
indicatif = "0.17.0"
inferno = { version = "0.11.0", default-features = false, optional = true }
memo-map = "0.3.0"
nameof = "1.0.0"
nanoid = "0.4.0"
nix = { version = "0.29.0", features = ["signal"] }
serde = { version = "1.0.197", features = ["derive"] }
serde_json = "1.0.115"
shell-escape = "0.1.0"
tempfile = "3.0.0"
tokio = { version = "1.29.0", features = ["full"] }
tokio-stream = { version = "0.1.3", default-features = false, features = ["io-util"] }
tokio-util = { version = "0.7.5", features = ["compat", "io-util"] }
which = "8"

[target.'cfg(any(target_os = "macos", target_family = "windows"))'.dependencies]
wholesym = { version = "0.8.1", optional = true }
itertools = { version = "0.14.0", optional = true }
