[package]
name = "anodizer-core"
description = "Core configuration, context, and template engine for the anodizer release tool"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
keywords.workspace = true
categories.workspace = true
rust-version.workspace = true
homepage.workspace = true
documentation.workspace = true
readme = "README.md"

[features]
test-helpers = ["dep:rustls", "dep:rcgen"]

[dev-dependencies]
anodizer-core = { path = ".", features = ["test-helpers"] }
serial_test.workspace = true
tracing-subscriber.workspace = true
# Test-only: redirect the process stderr fd (dup/dup2) so the section-header
# regression guard can capture the EXACT bytes `flush_pending`/`step` emit via
# `eprintln!` and prove both real paths delegate to `render_header`. Never
# linked into the shipped binary, so it cannot perturb the hermetic glibc floor.
[target.'cfg(unix)'.dev-dependencies]
libc = "0.2"

[dependencies]
anyhow.workspace = true
colored.workspace = true
serde.workspace = true
serde_json.workspace = true
serde_yaml_ng.workspace = true
toml.workspace = true
toml_edit.workspace = true
glob.workspace = true
regex.workspace = true
tera.workspace = true
chrono.workspace = true
schemars.workspace = true
sha1.workspace = true
sha2.workspace = true
sha3.workspace = true
blake2.workspace = true
blake3.workspace = true
crc32fast.workspace = true
md-5.workspace = true
percent-encoding.workspace = true
reqwest.workspace = true
tempfile.workspace = true
tokio.workspace = true
tracing.workspace = true

# Optional deps for the `test-helpers` feature (HTTPS responder + self-signed certs).
rustls = { workspace = true, optional = true }
rcgen = { workspace = true, optional = true }
