xtask/Cargo.toml
[package]
name = "xtask"
version = "0.0.0"
edition = "2021"
publish = false
description = "nornir's dependency-free build automation — the `demo-wasm` / `deploy-pages` verbs that build + publish the nornir-demo live web demo (release dep-DAG panel on the facett-wasm-demo harness) to Codeberg Pages. Pure std + shelling cargo / wasm-bindgen / git; no YAML CI, no shell scripts."
# The gh-pages demo/deploy FLOW lives ONCE in the edda leaf `nornir-pages` (LAW #5),
# consumed here as a path+version sibling dep (both `publish = false`); xtask keeps only
# nornir's `PagesConfig` knobs. The leaf shells `cargo` / `wasm-bindgen` / `git` — xtask
# still compiles in a blink and never drags nornir's heavy graph into the automation crate.
[dependencies]
nornir-pages = { version = "0.1", path = "../../edda/crates/nornir-pages" }
nornir-xtask-support = { version = "0.1", path = "../../edda/crates/nornir-xtask-support" }
# `cargo xtask build` — the ONE build verb. The whole body is
# `nornir_build_thing::suite_cli::run(repo_root, &args)`, so xtask names no variant
# and no feature string of its own: it reads `.nornir/build-variants.toml` like
# everything else. Dep-light by design (the same leaf compiles to the wasm plugin
# sandbox), so xtask still builds in a blink.
nornir-build-thing = { version = "0.2.0", path = "../../edda/crates/nornir-build-thing" }
[dev-dependencies]
# The WHOLE-WORKSPACE silenced-test guard (`tests/no_silenced_tests.rs`): a
# `tests/*.rs` whose crate-level `#![cfg(feature = "X")]` is unsatisfied compiles
# to an EMPTY binary and prints `running 0 tests ... ok` — green-by-vacuum.
# `audit_repo` RED-flags those. It shells `cargo metadata` at the REPO root, so
# hosting it here scans all 94 test targets, not just xtask's.
#
# It lives in xtask precisely because xtask is cheap: the root `nornir` package
# would drag iceberg, arrow, eframe, wgpu and tantivy in before a pure-metadata
# scan could run, and a guard slow enough to skip gets skipped. nornir-testmatrix
# is heavy-dep-free (std + serde + anyhow), so xtask still compiles in a blink.
#
# NO `version =`, unlike the two deps above, and that is deliberate: crates.io's
# newest nornir-testmatrix is 0.2.7 and does NOT contain the `gatedtests` module
# at all — the guard exists only in edda's unpublished 0.2.8. The path is the
# same directory the workspace-root `[patch.crates-io]` already redirects
# nornir-testmatrix to, so the graph keeps ONE copy of the crate and this does
# not become a second, non-unifying source. (xtask is `publish = false`, so the
# missing version costs nothing either way.) Add `version = "0.2.9"` once edda
# publishes it.
nornir-testmatrix = { path = "../../edda/crates/nornir-testmatrix", default-features = false }