[package]
name = "async-process"
# When publishing a new version:
# - Update CHANGELOG.md
# - Create "v2.x.y" git tag
version = "2.5.0"
authors = ["Stjepan Glavina <stjepang@gmail.com>"]
edition = "2021"
rust-version = "1.71"
description = "Async interface for working with processes"
license = "Apache-2.0 OR MIT"
repository = "https://github.com/smol-rs/async-process"
keywords = ["process", "spawn", "command", "subprocess", "child"]
categories = ["asynchronous", "os"]
exclude = ["/.*"]

[dependencies]
async-io = "2.3.0"
cfg-if = "1.0"
event-listener = "5.1.0"
futures-lite = "2.0.0"
tracing = { version = "0.1.40", default-features = false, optional = true }

[target.'cfg(unix)'.dependencies]
async-lock = "3.0.0"
async-signal = "0.2.3"
rustix = { version = "1.0", default-features = false, features = ["std", "fs", "process"] }

[target.'cfg(any(windows, target_os = "linux"))'.dependencies]
async-channel = "2.0.0"
async-task = "4.7.0"

[target.'cfg(windows)'.dependencies]
blocking = "1.0.0"

[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(async_process_force_signal_backend)'] }

[dev-dependencies]
async-executor = "1.5.1"

[target.'cfg(windows)'.dev-dependencies.windows-sys]
version = "0.61"
default-features = false
features = [
    "Win32_Foundation",
    "Win32_System_Threading",
]
