aboutsummaryrefslogtreecommitdiffstats
path: root/xtask/src/lib.rs
blob: 26dcbd15f7e57f3b6b31ecfc4d2fd477778ccb71 (plain)
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
27
28
29
30
const BIN_NAME: &str = "projectr";
const PKG_VER: &str = env!("CARGO_PKG_VERSION");
const PKG_INCLUDE: &[&str] = &[
    "bin/tmux-projectr",
    "CONTRIBUTING.md",
    "README.md",
    "LICENSE",
];

pub mod dist;
pub mod release;

/// Parse version from git describe output.
pub fn git_version() -> anyhow::Result<semver::Version> {
    let stdout = std::process::Command::new("git")
        .arg("describe")
        .arg("--long")
        .arg("--abbrev=7")
        .output()?
        .stdout;

    std::str::from_utf8(&stdout)?
        .trim()
        .trim_start_matches('v')
        .replacen("-g", ".g", 1)
        .replacen('-', "-r", 1)
        .parse()
        .map_err(Into::into)
}