aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_lsp_server/build.rs
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2019-12-09 14:59:04 +0000
committerAleksey Kladov <[email protected]>2019-12-09 15:11:46 +0000
commit5a012fb9fd87404515033b2a5e025f2b7ec44b29 (patch)
tree6e851cef5afa7c8eb1b2536c93924ca350d9b9c7 /crates/ra_lsp_server/build.rs
parent7819aa8862a01973853ca622df264920e54f45ce (diff)
Implement `ra_lsp_server --version`
Diffstat (limited to 'crates/ra_lsp_server/build.rs')
-rw-r--r--crates/ra_lsp_server/build.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/crates/ra_lsp_server/build.rs b/crates/ra_lsp_server/build.rs
new file mode 100644
index 000000000..05f9772c0
--- /dev/null
+++ b/crates/ra_lsp_server/build.rs
@@ -0,0 +1,15 @@
1//! Just embed git-hash to `--version`
2
3use std::process::Command;
4
5fn main() {
6 let rev = rev().unwrap_or_else(|| "???????".to_string());
7 println!("cargo:rustc-env=REV={}", rev)
8}
9
10fn rev() -> Option<String> {
11 let output = Command::new("git").args(&["rev-parse", "HEAD"]).output().ok()?;
12 let stdout = String::from_utf8(output.stdout).ok()?;
13 let short_hash = stdout.get(0..7)?;
14 Some(short_hash.to_owned())
15}