Skip to content

Commit d453e2e

Browse files
authored
refactor(tauri-cli): remove trait implemented only once (#14840)
1 parent 20b99f9 commit d453e2e

File tree

17 files changed

+25
-67
lines changed

17 files changed

+25
-67
lines changed

crates/tauri-cli/src/build.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use crate::{
1111
config::{get_config, ConfigMetadata, FrontendDist},
1212
},
1313
info::plugins::check_mismatched_packages,
14-
interface::{rust::get_cargo_target_dir, AppInterface, Interface},
14+
interface::{rust::get_cargo_target_dir, AppInterface},
1515
ConfigValue, Result,
1616
};
1717
use clap::{ArgAction, Parser};

crates/tauri-cli/src/bundle.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ use crate::{
2020
config::{get_config, ConfigMetadata},
2121
updater_signature,
2222
},
23-
interface::{AppInterface, AppSettings, Interface},
23+
interface::{AppInterface, AppSettings},
2424
ConfigValue,
2525
};
2626

crates/tauri-cli/src/dev.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use crate::{
1010
config::{get_config, reload_config, BeforeDevCommand, ConfigMetadata, FrontendDist},
1111
},
1212
info::plugins::check_mismatched_packages,
13-
interface::{AppInterface, ExitReason, Interface},
13+
interface::{AppInterface, ExitReason},
1414
CommandExt, ConfigValue, Error, Result,
1515
};
1616

crates/tauri-cli/src/helpers/mod.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,7 @@ use tauri_utils::config::HookCommand;
3030

3131
#[cfg(not(target_os = "windows"))]
3232
use crate::Error;
33-
use crate::{
34-
interface::{AppInterface, Interface},
35-
CommandExt,
36-
};
33+
use crate::{interface::AppInterface, CommandExt};
3734

3835
pub fn command_env(debug: bool) -> HashMap<&'static str, String> {
3936
let mut map = HashMap::new();

crates/tauri-cli/src/inspect.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use std::path::Path;
66
use crate::Result;
77
use clap::{Parser, Subcommand};
88

9-
use crate::interface::{AppInterface, AppSettings, Interface};
9+
use crate::interface::{AppInterface, AppSettings};
1010

1111
#[derive(Debug, Parser)]
1212
#[clap(about = "Inspect values used by Tauri")]

crates/tauri-cli/src/interface/mod.rs

Lines changed: 1 addition & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,11 @@
55
pub mod rust;
66

77
use std::{
8-
collections::HashMap,
98
path::{Path, PathBuf},
109
process::ExitStatus,
11-
sync::Arc,
1210
};
1311

14-
use crate::{
15-
error::Context, helpers::app_paths::Dirs, helpers::config::Config,
16-
helpers::config::ConfigMetadata,
17-
};
12+
use crate::{error::Context, helpers::config::Config};
1813
use tauri_bundler::bundle::{PackageType, Settings, SettingsBuilder};
1914

2015
pub use rust::{MobileOptions, Options, Rust as AppInterface, WatcherOptions};
@@ -104,35 +99,3 @@ pub enum ExitReason {
10499
/// Regular exit.
105100
NormalExit,
106101
}
107-
108-
pub trait Interface: Sized {
109-
type AppSettings: AppSettings;
110-
111-
fn new(config: &Config, target: Option<String>, tauri_dir: &Path) -> crate::Result<Self>;
112-
fn app_settings(&self) -> Arc<Self::AppSettings>;
113-
fn env(&self) -> HashMap<&str, String>;
114-
fn build(&mut self, options: Options, dirs: &Dirs) -> crate::Result<PathBuf>;
115-
fn dev<F: Fn(Option<i32>, ExitReason) + Send + Sync + 'static>(
116-
&mut self,
117-
config: &mut ConfigMetadata,
118-
options: Options,
119-
on_exit: F,
120-
dirs: &Dirs,
121-
) -> crate::Result<()>;
122-
fn mobile_dev<
123-
R: Fn(MobileOptions, &ConfigMetadata) -> crate::Result<Box<dyn DevProcess + Send>>,
124-
>(
125-
&mut self,
126-
config: &mut ConfigMetadata,
127-
options: MobileOptions,
128-
runner: R,
129-
dirs: &Dirs,
130-
) -> crate::Result<()>;
131-
fn watch<R: Fn(&ConfigMetadata) -> crate::Result<Box<dyn DevProcess + Send>>>(
132-
&mut self,
133-
config: &mut ConfigMetadata,
134-
options: WatcherOptions,
135-
runner: R,
136-
dirs: &Dirs,
137-
) -> crate::Result<()>;
138-
}

crates/tauri-cli/src/interface/rust.rs

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ use tauri_bundler::{
2727
};
2828
use tauri_utils::config::{parse::is_configuration_file, DeepLinkProtocol, RunnerConfig, Updater};
2929

30-
use super::{AppSettings, DevProcess, ExitReason, Interface};
30+
use super::{AppSettings, DevProcess, ExitReason};
3131
use crate::{
3232
error::{Context, Error, ErrorExt},
3333
helpers::{
@@ -134,10 +134,8 @@ pub struct Rust {
134134
main_binary_name: Option<String>,
135135
}
136136

137-
impl Interface for Rust {
138-
type AppSettings = RustAppSettings;
139-
140-
fn new(config: &Config, target: Option<String>, tauri_dir: &Path) -> crate::Result<Self> {
137+
impl Rust {
138+
pub fn new(config: &Config, target: Option<String>, tauri_dir: &Path) -> crate::Result<Self> {
141139
let manifest = {
142140
let (tx, rx) = sync_channel(1);
143141
let mut watcher = new_debouncer(Duration::from_secs(1), None, move |r| {
@@ -177,11 +175,11 @@ impl Interface for Rust {
177175
})
178176
}
179177

180-
fn app_settings(&self) -> Arc<Self::AppSettings> {
178+
pub fn app_settings(&self) -> Arc<RustAppSettings> {
181179
self.app_settings.clone()
182180
}
183181

184-
fn build(&mut self, options: Options, dirs: &Dirs) -> crate::Result<PathBuf> {
182+
pub fn build(&mut self, options: Options, dirs: &Dirs) -> crate::Result<PathBuf> {
185183
desktop::build(
186184
options,
187185
&self.app_settings,
@@ -192,7 +190,7 @@ impl Interface for Rust {
192190
)
193191
}
194192

195-
fn dev<F: Fn(Option<i32>, ExitReason) + Send + Sync + 'static>(
193+
pub fn dev<F: Fn(Option<i32>, ExitReason) + Send + Sync + 'static>(
196194
&mut self,
197195
config: &mut ConfigMetadata,
198196
mut options: Options,
@@ -236,7 +234,7 @@ impl Interface for Rust {
236234
}
237235
}
238236

239-
fn mobile_dev<
237+
pub fn mobile_dev<
240238
R: Fn(MobileOptions, &ConfigMetadata) -> crate::Result<Box<dyn DevProcess + Send>>,
241239
>(
242240
&mut self,
@@ -270,7 +268,7 @@ impl Interface for Rust {
270268
}
271269
}
272270

273-
fn watch<R: Fn(&ConfigMetadata) -> crate::Result<Box<dyn DevProcess + Send>>>(
271+
pub fn watch<R: Fn(&ConfigMetadata) -> crate::Result<Box<dyn DevProcess + Send>>>(
274272
&mut self,
275273
config: &mut ConfigMetadata,
276274
options: WatcherOptions,
@@ -287,7 +285,7 @@ impl Interface for Rust {
287285
)
288286
}
289287

290-
fn env(&self) -> HashMap<&str, String> {
288+
pub fn env(&self) -> HashMap<&str, String> {
291289
let mut env = HashMap::new();
292290
env.insert(
293291
"TAURI_ENV_TARGET_TRIPLE",

crates/tauri-cli/src/mobile/android/android_studio_script.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use super::{detect_target_ok, ensure_init, env, get_app, get_config, read_option
66
use crate::{
77
error::{Context, ErrorExt},
88
helpers::config::{get_config as get_tauri_config, reload_config as reload_tauri_config},
9-
interface::{AppInterface, Interface},
9+
interface::AppInterface,
1010
mobile::CliOptions,
1111
Error, Result,
1212
};

crates/tauri-cli/src/mobile/android/build.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ use crate::{
1414
config::{get_config as get_tauri_config, ConfigMetadata},
1515
flock,
1616
},
17-
interface::{AppInterface, Interface, Options as InterfaceOptions},
17+
interface::{AppInterface, Options as InterfaceOptions},
1818
mobile::{android::generate_tauri_properties, write_options, CliOptions, TargetDevice},
1919
ConfigValue, Error, Result,
2020
};

crates/tauri-cli/src/mobile/android/dev.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ use crate::{
1414
config::{get_config as get_tauri_config, ConfigMetadata},
1515
flock,
1616
},
17-
interface::{AppInterface, Interface, MobileOptions, Options as InterfaceOptions},
17+
interface::{AppInterface, MobileOptions, Options as InterfaceOptions},
1818
mobile::{
1919
android::generate_tauri_properties, use_network_address_for_dev_url, write_options, CliOptions,
2020
DevChild, DevHost, DevProcess, TargetDevice,

0 commit comments

Comments
 (0)