From 6d2c32fb48dde04e9ac9b829bf273c43c1ca89d1 Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Mon, 12 Aug 2024 20:12:08 +0100 Subject: [PATCH] Generate webui artifacts as part of build process --- crates/librqbit/build.rs | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/crates/librqbit/build.rs b/crates/librqbit/build.rs index f2943ee..aca3ebf 100644 --- a/crates/librqbit/build.rs +++ b/crates/librqbit/build.rs @@ -2,26 +2,29 @@ use std::path::Path; use std::process::Command; fn main() { - let webui_dir = Path::new("webui"); - let webui_src_dir = webui_dir.join("src"); + #[cfg(feature = "webui")] + { + let webui_dir = Path::new("webui"); + let webui_src_dir = webui_dir.join("src"); - println!("cargo:rerun-if-changed={}", webui_src_dir.to_str().unwrap()); + println!("cargo:rerun-if-changed={}", webui_src_dir.to_str().unwrap()); - // Run "npm run build" in the webui directory - let output = Command::new("npm") - .arg("run") - .arg("build") - .current_dir(webui_dir) - .output() - .expect("Failed to execute npm run build"); + // Run "npm run build" in the webui directory + let output = Command::new("npm") + .arg("run") + .arg("build") + .current_dir(webui_dir) + .output() + .expect("Failed to execute npm run build"); - if !output.status.success() { - panic!( - "npm run build failed with output: {}", - String::from_utf8_lossy(&output.stderr) - ); + if !output.status.success() { + panic!( + "npm run build failed with output: {}", + String::from_utf8_lossy(&output.stderr) + ); + } + + // Optionally print the stdout output if you want to see the build logs + println!("{}", String::from_utf8_lossy(&output.stdout)); } - - // Optionally print the stdout output if you want to see the build logs - println!("{}", String::from_utf8_lossy(&output.stdout)); }