You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.2 KiB
43 lines
1.2 KiB
use std::process::Command;
|
|
|
|
fn main() {
|
|
println!("cargo:rerun-if-changed=templates");
|
|
println!("cargo:rerun-if-changed=assets");
|
|
println!("cargo:rerun-if-changed=tailwind.config.js");
|
|
|
|
std::fs::remove_dir_all("resources").unwrap_or_default();
|
|
|
|
Command::new("bun")
|
|
.args([
|
|
"run",
|
|
"tailwindcss",
|
|
"-c",
|
|
"tailwind.config.js",
|
|
"-i",
|
|
"assets/public/css/tailwind.css",
|
|
"-o",
|
|
"resources/main.css",
|
|
"--minify",
|
|
])
|
|
.status()
|
|
.expect("failed to run tailwindcss");
|
|
|
|
copy_files("assets/static");
|
|
}
|
|
|
|
fn copy_files(dir: &str) {
|
|
for entry in std::fs::read_dir(dir).expect("failed to read dir `public`") {
|
|
let entry = entry.expect("failed to read entry");
|
|
|
|
if entry.file_type().unwrap().is_dir() {
|
|
copy_files(entry.path().to_str().unwrap());
|
|
} else {
|
|
let path = entry.path();
|
|
let filename = path.file_name().unwrap().to_str().unwrap();
|
|
let dest = format!("resources/{}", filename);
|
|
|
|
std::fs::copy(path, dest).expect("failed to copy file");
|
|
}
|
|
}
|
|
}
|