build.rs 849 B

12345678910111213141516171819202122232425262728
  1. use std::{
  2. env,
  3. env::current_dir,
  4. error::Error,
  5. fs::{read_to_string, File},
  6. io::{BufWriter, Write},
  7. path::Path,
  8. };
  9. pub fn main() -> Result<(), Box<dyn Error>> {
  10. let out_dir = env::var("OUT_DIR")?;
  11. let dest_bundle_umd_path = Path::new(&out_dir).join("tauri.bundle.umd.js");
  12. let mut bundle_umd_file = BufWriter::new(File::create(&dest_bundle_umd_path)?);
  13. let bundle_umd_path = current_dir()?.join("../../api/dist/tauri.bundle.umd.js");
  14. println!("cargo:rerun-if-changed={:?}", bundle_umd_path);
  15. if let Ok(bundle_umd_js) = read_to_string(bundle_umd_path) {
  16. write!(bundle_umd_file, "{}", bundle_umd_js)?;
  17. } else {
  18. write!(
  19. bundle_umd_file,
  20. r#"throw new Error("you are trying to use the global Tauri script but the @tauri-apps/api package wasn't compiled; run `yarn build` first")"#
  21. )?;
  22. }
  23. Ok(())
  24. }