Skip to main content

greentic_bundle/cli/
unbundle.rs

1use std::path::PathBuf;
2
3use anyhow::Result;
4use clap::Args;
5
6#[derive(Debug, Args)]
7pub struct UnbundleArgs {
8    #[arg(value_name = "FILE")]
9    pub artifact: PathBuf,
10
11    #[arg(long, value_name = "DIR", help = "cli.unbundle.out.option")]
12    pub out: Option<PathBuf>,
13}
14
15pub fn run(args: UnbundleArgs) -> Result<()> {
16    let output_dir = args.out.unwrap_or_else(|| PathBuf::from("."));
17    let result = crate::build::unbundle_artifact(&args.artifact, &output_dir)?;
18    println!("{}", serde_json::to_string_pretty(&result)?);
19    Ok(())
20}