Gunnar

nordisk/edda

nornir-build-thing-skew/Cargo.toml

# ── THE CROSS-VERSION GUARD ──────────────────────────────────────────────────
#
# The only package in the constellation that links TWO nornir-build-thing copies
# on purpose. Everywhere else that is a bug — it is how dwarves b81545c earned
# `E0609: no field dsse`, and holger/nornir/znippy/knut each carry the same
# double edge today by accident. Here it is the whole point: the recipe format
# has more than one reader at more than one version BY CONSTRUCTION (the forge
# reads every repo's recipe with ITS pin, the repo's own `<repo>-build-thing`
# crate and its `toml_parity` read with theirs), and nothing compared them.
#
# SELF-ROOTING, and outside `crates/` so edda's `members = ["crates/*"]` glob does
# not claim it: edda's own test run must not have to fetch a published copy of
# edda's own crate. Run it deliberately:
#
#     cargo test --manifest-path nornir-build-thing-skew/Cargo.toml
[workspace]

[package]
name = "nornir-build-thing-skew"
version = "0.1.0"
edition = "2024"
rust-version = "1.85"
publish = false
description = "The cross-version recipe guard: loads every repo's .nornir/build-variants.toml with the OLDEST supported nornir-build-thing reader and the newest, and fails by name when they disagree in a way the recipe's declared schema does not explain."

[dependencies]
# THE NEWEST reader — edda's tree, the one every repo path-deps.
nbt_new = { package = "nornir-build-thing", path = "../crates/nornir-build-thing", default-features = false }
# THE OLDEST reader still resolved by a committed lockfile in the constellation.
# `=0.1.10` and not `0.1.10`: a caret here would quietly float onto whatever 0.1.x
# is newest and the guard would compare a reader with itself — the exact false
# green the floating `version = "0.1"` pins cost this format elsewhere.
nbt_old = { package = "nornir-build-thing", version = "=0.1.10", default-features = false }
serde_ignored = "0.1"
toml = "1"