[package]
edition = "2024"
rust-version = "1.95.0"
name = "haz-exec"
version = "0.1.0"
authors = ["Andrés Correa Casablanca <andreu@ctrlback.coop>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Async task execution engine for haz."
readme = "README.md"
keywords = [
"haz",
"executor",
"tasks",
"async",
]
categories = [
"concurrency",
"development-tools",
]
license = "AGPL-3.0-or-later"
repository = "https://forge.cloudsling.dev/andreu/haz-cli"
[features]
test-util = []
[lib]
name = "haz_exec"
path = "src/lib.rs"
[[test]]
name = "cross_project_cache"
path = "tests/cross_project_cache.rs"
required-features = ["test-util"]
[[test]]
name = "cross_project_cycle"
path = "tests/cross_project_cycle.rs"
required-features = ["test-util"]
[[test]]
name = "cross_project_live_cancel"
path = "tests/cross_project_live_cancel.rs"
required-features = ["test-util"]
[[test]]
name = "cross_project_mutex"
path = "tests/cross_project_mutex.rs"
required-features = ["test-util"]
[[test]]
name = "cross_project_tag_cap"
path = "tests/cross_project_tag_cap.rs"
required-features = ["test-util"]
[[test]]
name = "run_graph_end_to_end"
path = "tests/run_graph_end_to_end.rs"
required-features = ["test-util"]
[dependencies.futures]
version = "0.3"
features = [
"std",
"async-await",
]
default-features = false
[dependencies.globset]
version = "0.4"
[dependencies.haz-cache]
version = "0.1.0"
[dependencies.haz-dag]
version = "0.1.0"
[dependencies.haz-domain]
version = "0.1.0"
[dependencies.haz-vfs]
version = "0.1.0"
[dependencies.num_cpus]
version = "1"
[dependencies.snafu]
version = "0.9"
[dependencies.tokio]
version = "1"
features = [
"io-util",
"macros",
"process",
"rt-multi-thread",
"sync",
"time",
]
default-features = false
[dependencies.tokio-util]
version = "0.7"
features = ["rt"]
default-features = false
[dev-dependencies.nonempty]
version = "0.12"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = ["test-util"]
default-features = false
[target."cfg(unix)".dependencies.nix]
version = "0.31"
features = ["signal"]
default-features = false
[lints.clippy.all]
level = "deny"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
unsafe_code = "forbid"