changenog 2.0.5

Zero-config changelog generator with monorepo support.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use std::{error::Error, process::Command};

pub fn run(cmd: &str, args: &[&str]) -> Result<String, Box<dyn Error>> {
    let args = args
        .iter()
        .filter(|a| !a.is_empty())
        .copied()
        .collect::<Vec<&str>>();

    let output = Command::new(cmd).args(args).output()?;

    if !output.status.success() {
        return Err(String::from_utf8(output.stderr)?.into());
    }

    Ok(String::from_utf8(output.stdout)?)
}