use std::process::{Command, Output};
pub struct OutputCommand;
impl OutputCommand {
fn run(
cmd: &str,
args: &[&str],
error: &str
) -> Output {
Command::new(cmd)
.args(args)
.output()
.expect(error)
}
pub fn cargo_release_output() -> Output {
Self::run(
"cargo",
&["build", "--release"],
"Failed to execute cargo build"
)
}
pub fn tar_output(
project_tar_gz: &str,
project_name: &str
) -> Output {
Self::run(
"tar",
&["-cvzf", project_tar_gz, "-C", "target/release", project_name],
"Failed to create tar.gz",
)
}
pub fn get_shasum_output(
project_tar_gz: &str
) -> Output {
Self::run(
"shasum",
&["-a", "256", project_tar_gz],
"Failed to execute shasum"
)
}
}