crates/nornir-feature-graph/Cargo.toml
[package]
name = "nornir-feature-graph"
version = "0.2.0"
edition = "2021"
license = "MIT OR Apache-2.0"
description = "The feature→dependency activation graph parsed out of Cargo manifests: the one edge cargo metadata cannot supply, and the two adjoints of the Galois connection over it."
repository = "https://git.gunnar.rs/nordisk/edda"
readme = "README.md"
keywords = ["cargo", "features", "dependencies", "graph"]
categories = ["development-tools"]
[dependencies]
# TOML is the whole input. Nothing else is needed to parse a manifest — this
# crate deliberately does NOT take `cargo_metadata`, because `cargo metadata`
# provably cannot answer the question this crate exists to answer (see the
# module doc: it has no `-p`, always resolves the whole workspace including
# dev-deps, and collapses weak-dep AND-groups).
toml = "1"
serde = { version = "1", features = ["derive"] }
# The ONE graph seam. `MemGraph` carries the bipartite feature↔crate graph over
# opaque string ids with an `EdgeLabel` codec — exactly what this needs — so no
# second graph abstraction is invented here. Its default build is a true leaf
# (std only, zero deps), which keeps this crate a leaf too.
nornir-graph = { version = "0.2.0", path = "../nornir-graph" }
[dev-dependencies]
# The resolve ORACLE for the accuracy tests: `cargo tree -p <pkg> -e no-dev`.
# Only ever shelled out from tests — the library itself never runs cargo.
tempfile = "3"