aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormurilo ijanc2025-11-18 13:57:40 -0300
committermurilo ijanc2025-11-18 13:57:40 -0300
commitb2da9bdbf5fcde9a6f1426a54c2269135267a0f8 (patch)
treeb94d9ae25272c99cd59811f187e1d33b39a58ba3
parentbb65b820a07d0fc0f8d6549e18783733a0099294 (diff)
downloadcogops-b2da9bdbf5fcde9a6f1426a54c2269135267a0f8.tar.gz
Create build to fill environment variables git (commit and date)
-rw-r--r--build.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/build.rs b/build.rs
new file mode 100644
index 0000000..52cbd9f
--- /dev/null
+++ b/build.rs
@@ -0,0 +1,21 @@
+use std::process::Command;
+
+fn main() {
+ let git_hash = Command::new("git")
+ .args(["rev-parse", "HEAD"])
+ .output()
+ .map(|out| String::from_utf8_lossy(&out.stdout).trim().to_string())
+ .unwrap_or_else(|_| "unknown".into());
+
+ let git_date = Command::new("git")
+ .args(["show", "-s", "--format=%cI", "HEAD"])
+ .output()
+ .map(|out| String::from_utf8_lossy(&out.stdout).trim().to_string())
+ .unwrap_or_else(|_| "unknown".into());
+
+ println!("cargo:rustc-env=GIT_HASH={}", git_hash);
+ println!("cargo:rustc-env=BUILD_DATE={}", git_date);
+
+ println!("cargo:rerun-if-changed=.git/HEAD");
+ println!("cargo:rerun-if-changed=.git/refs/heads");
+}