pinnacle/build.rs

57 lines
1.5 KiB
Rust
Raw Normal View History

2023-09-22 02:57:26 +02:00
fn main() {
2024-01-16 21:23:18 +01:00
println!("cargo:rerun-if-changed=api/lua");
println!("cargo:rerun-if-changed=api/protocol");
let xdg = xdg::BaseDirectories::with_prefix("pinnacle").unwrap();
2024-01-31 00:15:08 +01:00
let proto_dir = xdg.place_data_file("protobuf").unwrap();
let default_config_dir = xdg.place_data_file("default_config").unwrap();
2024-01-31 00:15:08 +01:00
let remove_protos = format!("rm -r {proto_dir:?}");
let copy_protos = format!("cp -r ./api/protocol {proto_dir:?}");
2024-01-31 00:15:08 +01:00
let remove_default_config = format!("rm -r {default_config_dir:?}");
let copy_default_config = format!("cp -r ./api/lua/examples/default {default_config_dir:?}");
2024-01-16 06:37:17 +01:00
2024-01-15 06:38:05 +01:00
std::process::Command::new("/bin/sh")
.arg("-c")
.arg(&remove_protos)
.spawn()
.unwrap()
.wait()
.unwrap();
std::process::Command::new("/bin/sh")
.arg("-c")
.arg(&copy_protos)
.spawn()
2024-01-15 06:38:05 +01:00
.unwrap()
.wait()
.unwrap();
2024-01-16 06:37:17 +01:00
std::process::Command::new("/bin/sh")
.arg("-c")
.arg(&remove_default_config)
.spawn()
.unwrap()
.wait()
.unwrap();
std::process::Command::new("/bin/sh")
.arg("-c")
.arg(&copy_default_config)
.spawn()
.unwrap()
.wait()
.unwrap();
2024-01-16 21:23:18 +01:00
std::env::set_current_dir("api/lua").unwrap();
2024-01-16 06:37:17 +01:00
std::process::Command::new("luarocks")
.arg("make")
.arg("--local")
.spawn()
2024-01-31 00:15:08 +01:00
.expect("Luarocks is not installed")
.wait()
.unwrap();
2023-09-22 02:57:26 +02:00
}