socktop-webterm/build.rs
jasonwitty 12f2d6e6af
Some checks failed
Build and Deploy to K3s / deploy (push) Blocked by required conditions
Build and Deploy to K3s / build-and-push (push) Has been cancelled
- modernize packages and rust edition. - increase timeout for rollout -
increment cargo version
2025-11-28 14:43:49 -08:00

55 lines
1.5 KiB
Rust

use std::path::Path;
fn main() {
// Verify that required directories exist at build time
let required_dirs = vec!["static", "templates", "node_modules"];
let mut missing_dirs = Vec::new();
for dir in &required_dirs {
if !Path::new(dir).exists() {
missing_dirs.push(*dir);
}
}
if !missing_dirs.is_empty() {
println!("cargo:warning=Missing required directories:");
for dir in &missing_dirs {
println!("cargo:warning= - {}", dir);
}
if missing_dirs.contains(&"node_modules") {
println!("cargo:warning=Run 'npm install' to install frontend dependencies");
}
}
// Verify critical files
let required_files = vec![
"templates/term.html",
"static/terminal.js",
"static/terminado-addon.js",
"static/styles.css",
];
let mut missing_files = Vec::new();
for file in &required_files {
if !Path::new(file).exists() {
missing_files.push(*file);
}
}
if !missing_files.is_empty() {
println!("cargo:warning=Missing required files:");
for file in &missing_files {
println!("cargo:warning= - {}", file);
}
}
// Tell cargo to rerun if these directories change
println!("cargo:rerun-if-changed=static/");
println!("cargo:rerun-if-changed=templates/");
println!("cargo:rerun-if-changed=package.json");
println!("cargo:rerun-if-changed=package-lock.json");
}