# Detached bench crate for **edda** — its OWN `[workspace]` so the harness's
# feature-enabling dev tree never touches the published edda crates' lockfile or
# member set (`members = ["crates/*"]` deliberately does not reach here).
#
# WHY IT EXISTS: edda's benchers live INSIDE its leaves (`autonom::bench::ScanFold`,
# `nornir_flight::bench::FlightThroughput`, `nornir_saga::bench::ReplayFold`), each
# behind that leaf's off-by-default `bench` feature, each with its own
# `crates/<leaf>/examples/nornir-bench.rs` entrypoint. `nornir`'s `run_bench_example`
# only looks in THREE places — `<repo>/examples/`, `<repo>/xtask/examples/` and
# `<repo>/bench/examples/` — so none of the per-leaf entrypoints were reachable and
# `nornir bench run edda` printed "skipped: no bench example" forever. Hence edda's
# README `benches` block rendered its no-data placeholder despite three working
# benchers being in the tree.
#
# This crate is the ONE repo-level entrypoint: it links every leaf with its `bench`
# feature on, so `inventory` collects all of them into a single `BenchRun` for the
# `edda` repo. Adding a bencher to a new leaf = one dependency line here.
[package]
name = "edda-bench"
version = "0.0.0"
edition = "2021"
publish = false
[workspace]
[dependencies]
# The shared harness (register_bench! + inventory + the stdout-JSON envelope).
nornir-bench = { path = "../crates/nornir-bench" }
# Each leaf, with ITS `bench` feature on — that is what compiles the leaf's
# `src/bench.rs` and emits its `register_bench!` inventory entry.
autonom = { path = "../crates/autonom", features = ["bench"] }
nornir-flight = { path = "../crates/nornir-flight", features = ["bench"] }
nornir-saga = { path = "../crates/nornir-saga", features = ["bench"] }
anyhow = "1"
[[example]]
name = "nornir-bench"
path = "examples/nornir-bench.rs"