crates/dwarves-slsa/src/main.rs
//! `dwarves-slsa`: the release-build commands without the rest of dwarves (the same
//! [`dwarves_slsa::cli`] as `dwarves release-build`): spec, show, pae, verify, wait,
//! verify-run, check-published, attest. A release build is a Runa pipeline, so `build`,
//! `serve`, `publish`, `request` and `attach` run in dwarves (`dwarves release-build`).
fn main() {
let mut v = std::collections::BTreeMap::new();
v.insert("caller".to_string(), "dwarves-slsa".to_string());
// `dwarves-slsa release-build <command>` is `dwarves release-build <command>`.
let mut argv: Vec<String> = std::env::args().skip(1).collect();
if argv.first().map(String::as_str) == Some("release-build") {
argv.remove(0);
}
if let Err(e) = dwarves_slsa::cli::run(argv, &v, dwarves_slsa::cli::Forge::default()) {
eprintln!("RED {e}");
std::process::exit(1);
}
}