mirror of
https://github.com/Xevion/smart-rgb.git
synced 2025-12-07 20:08:31 -06:00
Update source files
This commit is contained in:
28
crates/borders-core/build.rs
Normal file
28
crates/borders-core/build.rs
Normal file
@@ -0,0 +1,28 @@
|
||||
use std::env;
|
||||
use std::fs;
|
||||
use std::path::PathBuf;
|
||||
|
||||
fn main() {
|
||||
// Get the workspace root (two levels up from borders-core)
|
||||
let manifest_dir = PathBuf::from(env::var("CARGO_MANIFEST_DIR").unwrap());
|
||||
let workspace_root = manifest_dir.parent().unwrap().parent().unwrap();
|
||||
|
||||
// Read git commit from .source-commit file
|
||||
let source_commit_path = workspace_root.join(".source-commit");
|
||||
let git_commit = if source_commit_path.exists() {
|
||||
fs::read_to_string(&source_commit_path).unwrap_or_else(|_| "unknown".to_string()).trim().to_string()
|
||||
} else {
|
||||
// Fallback to git command if file doesn't exist (local development)
|
||||
std::process::Command::new("git").args(["rev-parse", "HEAD"]).current_dir(workspace_root).output().ok().and_then(|output| if output.status.success() { String::from_utf8(output.stdout).ok() } else { None }).map(|s| s.trim().to_string()).unwrap_or_else(|| "unknown".to_string())
|
||||
};
|
||||
|
||||
// Get current build time in UTC
|
||||
let build_time = chrono::Utc::now().to_rfc3339();
|
||||
|
||||
// Set environment variables for compile-time access
|
||||
println!("cargo:rustc-env=BUILD_GIT_COMMIT={}", git_commit);
|
||||
println!("cargo:rustc-env=BUILD_TIME={}", build_time);
|
||||
|
||||
// Re-run if .source-commit changes
|
||||
println!("cargo:rerun-if-changed={}", source_commit_path.display());
|
||||
}
|
||||
Reference in New Issue
Block a user