OneLauncher-Cracked/packages/core/build.rs

40 lines
822 B
Rust

use std::path::PathBuf;
fn main() {
let paths = vec![get_root_workspace().join(".env"), PathBuf::from(".env")];
for path in paths {
if path.exists() {
load_from_path(path);
}
}
}
fn get_root_workspace() -> PathBuf {
let output: Vec<u8> = std::process::Command::new(env!("CARGO"))
.arg("locate-project")
.arg("--workspace")
.arg("--message-format=plain")
.output()
.unwrap()
.stdout;
let root_workspace = String::from_utf8(output).unwrap();
let mut root_workspace = PathBuf::from(root_workspace.trim());
if root_workspace.is_file() {
root_workspace.pop();
}
root_workspace
}
fn load_from_path(path: PathBuf) {
let vars = dotenvy::EnvLoader::with_path(path)
.load()
.expect("failed to find .env file");
for (key, value) in vars {
println!("cargo:rustc-env={key}={value}");
}
}