pinnacle/build.rs

60 lines
1.6 KiB
Rust
Raw Normal View History

2024-03-03 02:25:19 -06:00
use std::process::Command;
fn main() -> Result<(), Box<dyn std::error::Error>> {
2024-01-16 14:23:18 -06: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-30 17:15:08 -06:00
let proto_dir = xdg.place_data_file("protobuf").unwrap();
2024-03-03 02:25:19 -06:00
let default_config_dir = xdg.place_data_file("default_config").unwrap();
let default_lua_config_dir = default_config_dir.join("lua");
let default_rust_config_dir = default_config_dir.join("rust");
2024-01-30 17:15:08 -06:00
let remove_protos = format!("rm -r {proto_dir:?}");
let copy_protos = format!("cp -r ./api/protocol {proto_dir:?}");
2024-03-03 02:25:19 -06:00
let remove_default_config_dir = format!("rm -r {default_config_dir:?}");
let copy_default_lua_config =
format!("cp -r ./api/lua/examples/default {default_lua_config_dir:?}");
let copy_default_rust_config = format!(
"cp -LR ./api/rust/examples/default_config/for_copying {default_rust_config_dir:?}"
);
2024-01-15 23:37:17 -06:00
2024-03-03 02:25:19 -06:00
Command::new("/bin/sh")
2024-01-14 23:38:05 -06:00
.arg("-c")
.arg(&remove_protos)
2024-03-03 02:25:19 -06:00
.spawn()?
.wait()?;
2024-01-14 23:38:05 -06:00
2024-03-03 02:25:19 -06:00
Command::new("/bin/sh")
.arg("-c")
.arg(&copy_protos)
2024-03-03 02:25:19 -06:00
.spawn()?
.wait()?;
2024-03-03 02:25:19 -06:00
Command::new("/bin/sh")
2024-01-15 23:37:17 -06:00
.arg("-c")
2024-03-03 02:25:19 -06:00
.arg(&remove_default_config_dir)
.spawn()?
.wait()?;
2024-01-15 23:37:17 -06:00
2024-03-03 02:25:19 -06:00
std::fs::create_dir_all(&default_config_dir)?;
Command::new("/bin/sh")
2024-01-15 23:37:17 -06:00
.arg("-c")
2024-03-03 02:25:19 -06:00
.arg(&copy_default_lua_config)
.spawn()?
.wait()?;
Command::new("/bin/sh")
.arg("-c")
.arg(&copy_default_rust_config)
.spawn()?
.wait()?;
2024-01-15 23:37:17 -06:00
2024-03-03 02:25:19 -06:00
Ok(())
2023-09-21 19:57:26 -05:00
}