# 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 = "hydro_deploy"
version = "0.17.0-alpha.0"
build = false
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Hydro Deploy"
documentation = "https://docs.rs/hydro_deploy/"
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/hydro-project/hydro"
resolver = "2"

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

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

[dependencies.anyhow]
version = "1.0.82"
features = ["backtrace"]

[dependencies.append-only-vec]
version = "0.1.8"

[dependencies.async-process]
version = "2.0.0"

[dependencies.async-recursion]
version = "1.0.0"

[dependencies.async-ssh2-russh]
version = "0.2.0"
features = ["sftp"]

[dependencies.async-trait]
version = "0.1.54"

[dependencies.blake3]
version = "1.8.2"

[dependencies.buildstructor]
version = "0.6.0"

[dependencies.bytes]
version = "1.1.0"

[dependencies.cargo_metadata]
version = "0.18.0"

[dependencies.dunce]
version = "1.0.0"

[dependencies.futures]
version = "0.3.0"

[dependencies.hydro_deploy_integration]
version = "^0.17.0-alpha.0"

[dependencies.indicatif]
version = "0.17.0"

[dependencies.inferno]
version = "0.11.0"
optional = true
default-features = false

[dependencies.memo-map]
version = "0.3.0"

[dependencies.nameof]
version = "1.0.0"

[dependencies.nanoid]
version = "0.4.0"

[dependencies.nix]
version = "0.29.0"
features = ["signal"]

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

[dependencies.serde_json]
version = "1.0.115"

[dependencies.shell-escape]
version = "0.1.0"

[dependencies.tempfile]
version = "3.0.0"

[dependencies.tokio]
version = "1.29.0"
features = ["full"]

[dependencies.tokio-stream]
version = "0.1.3"
features = ["io-util"]
default-features = false

[dependencies.tokio-util]
version = "0.7.5"
features = [
    "compat",
    "io-util",
]

[dependencies.which]
version = "8"

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

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

[lints.clippy]
alloc_instead_of_core = "warn"
allow_attributes = "warn"
allow_attributes_without_reason = "warn"
explicit_into_iter_loop = "warn"
let_and_return = "allow"
manual_is_variant_and = "warn"
manual_let_else = "warn"
redundant_clone = "warn"
self_named_module_files = "warn"
str_to_string = "warn"
try_err = "warn"
uninlined_format_args = "allow"
unused_async = "warn"

[lints.rust]
impl_trait_overcaptures = "warn"
missing_unsafe_on_extern = "deny"
unsafe_attr_outside_unsafe = "deny"
unused_qualifications = "warn"
