about summary refs log tree commit diff
path: root/build.rs
diff options
context:
space:
mode:
Diffstat (limited to 'build.rs')
-rw-r--r--build.rs30
1 files changed, 30 insertions, 0 deletions
diff --git a/build.rs b/build.rs
new file mode 100644
index 0000000..05eca7a
--- /dev/null
+++ b/build.rs
@@ -0,0 +1,30 @@
+use std::env;
+
+fn main() {
+    println!("cargo:rerun-if-changed=migrations");
+
+    let out_dir = env::var("OUT_DIR").unwrap();
+
+    println!("cargo:rerun-if-changed=companion-lite/");
+    let companion_out = std::path::Path::new(&out_dir).join("companion");
+
+    if let Ok(exit) = std::process::Command::new("tsc")
+        .arg("--outDir")
+        .arg(companion_out.as_os_str())
+        .current_dir("companion-lite")
+        .spawn()
+        .unwrap()
+        .wait()
+    {
+        if !exit.success() {
+            std::process::exit(exit.code().unwrap_or(1))
+        }
+    }
+    let companion_in = std::path::Path::new("companion-lite");
+    for file in ["index.html", "style.css"] {
+        std::fs::copy(
+            companion_in.join(file),
+            &companion_out.join(file)
+        ).unwrap();
+    }
+}