diff options
author | Aleksey Kladov <[email protected]> | 2019-12-09 14:59:04 +0000 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2019-12-09 15:11:46 +0000 |
commit | 5a012fb9fd87404515033b2a5e025f2b7ec44b29 (patch) | |
tree | 6e851cef5afa7c8eb1b2536c93924ca350d9b9c7 /crates/ra_lsp_server/build.rs | |
parent | 7819aa8862a01973853ca622df264920e54f45ce (diff) |
Implement `ra_lsp_server --version`
Diffstat (limited to 'crates/ra_lsp_server/build.rs')
-rw-r--r-- | crates/ra_lsp_server/build.rs | 15 |
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 | |||
3 | use std::process::Command; | ||
4 | |||
5 | fn main() { | ||
6 | let rev = rev().unwrap_or_else(|| "???????".to_string()); | ||
7 | println!("cargo:rustc-env=REV={}", rev) | ||
8 | } | ||
9 | |||
10 | fn 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 | } | ||