[package]
name = "ferroclass"
version = "0.12.0"
edition = "2024"
license = "MPL-2.0"
description = "Hierarchical inventory management tool (reclass compatible)"
authors = ["Michael Jansen <ferroclass@michael-jansen.biz>"]
repository = "https://github.com/jansenm/ferroclass"
homepage = "https://github.com/jansenm/ferroclass"
documentation = "https://docs.rs/ferroclass"
readme = "README.md"
keywords = ["reclass", "inventory", "ansible", "salt", "configuration"]
categories = ["command-line-utilities", "config"]
[dependencies]
clap = { version = "4.5.50", features = ["derive"] }
hashlink = { version = "0.11", features = ["serde_impl"] }
indoc = { version = "2.0.7" }
serde = { version = "1.0.228", features = ["derive"] }
serde_yml = { version = "0.0.12" }
snafu = { version = "0.9.0" }
walkdir = { version = "2.5.0" }
yaml-rust2 = { version = "0.11.0" }
tracing = { version = "0.1.41" }
tracing-subscriber = { version = "0.3.20" }
shellexpand = { version = "3.1.1" }
serde_json = "1.0.149"
chrono = "0.4.44"
globset = "0.4"
regex = "1"
[lib]
name = "ferroclass"
crate-type = ["cdylib", "rlib"]
[dev-dependencies]
insta = { version = "1.42", features = ["yaml"] }
[features]
manpages = ["clap_mangen"]
python = ["pyo3"]
default = []
[dependencies.clap_mangen]
version = "0.2.33"
optional = true
[dependencies.pyo3]
version = "0.23"
features = ["extension-module"]
optional = true
[[bin]]
name = "ferroclass"
path = "src/bin/reclass/main.rs"
[[bin]]
name = "ferroclass-ansible"
path = "src/bin/reclass-ansible/main.rs"
[[bin]]
name = "ferroclass-salt"
path = "src/bin/reclass-salt/main.rs"
[[bin]]
name = "generate-manpages"
path = "src/bin/generate-manpages/main.rs"
required-features = ["manpages"]
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ["cfg(tarpaulin_include)"] }