diff options
author | Toby Vincent <tobyv13@gmail.com> | 2023-06-03 21:34:21 -0500 |
---|---|---|
committer | Toby Vincent <tobyv13@gmail.com> | 2023-06-03 21:34:21 -0500 |
commit | c6e8c15b39781ce48cd3f0d829ab5c6574ccd01b (patch) | |
tree | fa8966f5d2058a349bd0b9b5dd5b0cf9854bbb39 /xtask/src/lib.rs | |
parent | e5dd5a260c48ee7f2d22e75433e463eb092ec698 (diff) |
build: add xtask release command
Diffstat (limited to 'xtask/src/lib.rs')
-rw-r--r-- | xtask/src/lib.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/xtask/src/lib.rs b/xtask/src/lib.rs index f01fe7b..26dcbd1 100644 --- a/xtask/src/lib.rs +++ b/xtask/src/lib.rs @@ -8,3 +8,23 @@ const PKG_INCLUDE: &[&str] = &[ ]; 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) +} + |