1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
use std::path::PathBuf;
use structopt::StructOpt;
use crate::package_contents::PackageContents;
#[derive(Debug, StructOpt)]
pub struct PackageSubcommand {
#[structopt(long = "project-path", default_value = ".")]
pub project_path: PathBuf,
#[structopt(long = "output")]
pub output_path: PathBuf,
}
impl PackageSubcommand {
pub fn run(self) -> anyhow::Result<()> {
let contents = PackageContents::pack_from_path(&self.project_path)?;
fs_err::write(&self.output_path, contents.data())?;
Ok(())
}
}