greentic_bundle/cli/
unbundle.rs1use 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}