#![allow(dead_code)] mod cli; use { clap::{Arg, Command}, cli::cli, package_bootstrap::Bootstrap, std::{error::Error, path::PathBuf}, }; fn main() -> Result<(), Box> { let matches = Command::new("bootstrap") .about("install the software") .author("Nathan Fisher") .version(env!("CARGO_PKG_VERSION")) .args([ Arg::new("target-dir") .help("the directory where the 'hpk' binary is located") .short('t') .long("target-dir") .num_args(1), Arg::new("output") .help("the output directory for the installation") .required(true) .num_args(1), ]) .get_matches(); let outdir = matches.get_one::("output").unwrap().to_string(); let outdir = PathBuf::from(&outdir); let target_dir = matches .get_one::("target-dir") .map(|x| x.to_string()); Bootstrap::new("hpk", cli(), &outdir).install(target_dir, 8)?; Bootstrap::new("hpk-init", cli::init(), &outdir).manpage(8)?; Bootstrap::new("hpk-create", cli::create(), &outdir).manpage(8)?; Bootstrap::new("hpk-install", cli::install(), &outdir).manpage(8)?; Bootstrap::new("hpk-info", cli::info(), &outdir).manpage(8)?; Bootstrap::new("hpk-search", cli::search(), &outdir).manpage(8)?; Bootstrap::new("hpk-remove", cli::remove(), &outdir).manpage(8)?; Bootstrap::new("hpk-upgrade", cli::upgrade(), &outdir).manpage(8)?; Ok(()) }