summaryrefslogtreecommitdiffstats
path: root/xtask/src/lib.rs
diff options
context:
space:
mode:
authorToby Vincent <tobyv13@gmail.com>2023-06-03 21:34:21 -0500
committerToby Vincent <tobyv13@gmail.com>2023-06-03 21:34:21 -0500
commitc6e8c15b39781ce48cd3f0d829ab5c6574ccd01b (patch)
treefa8966f5d2058a349bd0b9b5dd5b0cf9854bbb39 /xtask/src/lib.rs
parente5dd5a260c48ee7f2d22e75433e463eb092ec698 (diff)
build: add xtask release command
Diffstat (limited to 'xtask/src/lib.rs')
-rw-r--r--xtask/src/lib.rs20
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)
+}
+