|
@@ -10,6 +10,7 @@ use std::{
|
|
path::PathBuf,
|
|
path::PathBuf,
|
|
};
|
|
};
|
|
use tauri_codegen::{context_codegen, ContextData};
|
|
use tauri_codegen::{context_codegen, ContextData};
|
|
|
|
+use tauri_utils::config::{AppUrl, WindowUrl};
|
|
|
|
|
|
// TODO docs
|
|
// TODO docs
|
|
/// A builder for generating a Tauri application context during compile time.
|
|
/// A builder for generating a Tauri application context during compile time.
|
|
@@ -92,6 +93,40 @@ impl CodegenContext {
|
|
/// Non-panicking [`Self::build`]
|
|
/// Non-panicking [`Self::build`]
|
|
pub fn try_build(self) -> Result<PathBuf> {
|
|
pub fn try_build(self) -> Result<PathBuf> {
|
|
let (config, config_parent) = tauri_codegen::get_config(&self.config_path)?;
|
|
let (config, config_parent) = tauri_codegen::get_config(&self.config_path)?;
|
|
|
|
+
|
|
|
|
+ // rerun if changed
|
|
|
|
+ let app_url = if self.dev {
|
|
|
|
+ &config.build.dev_path
|
|
|
|
+ } else {
|
|
|
|
+ &config.build.dist_dir
|
|
|
|
+ };
|
|
|
|
+ match app_url {
|
|
|
|
+ AppUrl::Url(WindowUrl::App(p)) => {
|
|
|
|
+ println!("cargo:rerun-if-changed={}", config_parent.join(p).display());
|
|
|
|
+ }
|
|
|
|
+ AppUrl::Files(files) => {
|
|
|
|
+ for path in files {
|
|
|
|
+ println!(
|
|
|
|
+ "cargo:rerun-if-changed={}",
|
|
|
|
+ config_parent.join(path).display()
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ _ => (),
|
|
|
|
+ }
|
|
|
|
+ for icon in &config.tauri.bundle.icon {
|
|
|
|
+ println!(
|
|
|
|
+ "cargo:rerun-if-changed={}",
|
|
|
|
+ config_parent.join(icon).display()
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+ if let Some(tray_icon) = config.tauri.system_tray.as_ref().map(|t| &t.icon_path) {
|
|
|
|
+ println!(
|
|
|
|
+ "cargo:rerun-if-changed={}",
|
|
|
|
+ config_parent.join(tray_icon).display()
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+
|
|
let code = context_codegen(ContextData {
|
|
let code = context_codegen(ContextData {
|
|
dev: self.dev,
|
|
dev: self.dev,
|
|
config,
|
|
config,
|