From 3f1c59d684c394eb446432198d3cf6f3465add65 Mon Sep 17 00:00:00 2001 From: Lucas Fernandes Nogueira Date: Tue, 28 May 2024 07:53:32 -0300 Subject: [PATCH] chore(cli): enhance mobile build by only compiling selected target (#9894) Co-authored-by: Lucas Nogueira --- tooling/cli/src/mobile/android/build.rs | 27 +++++++++++-------------- tooling/cli/src/mobile/ios/build.rs | 8 +++++++- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/tooling/cli/src/mobile/android/build.rs b/tooling/cli/src/mobile/android/build.rs index 12f54264b..05ae9240d 100644 --- a/tooling/cli/src/mobile/android/build.rs +++ b/tooling/cli/src/mobile/android/build.rs @@ -89,13 +89,17 @@ pub fn command(options: Options, noise_level: NoiseLevel) -> Result<()> { delete_codegen_vars(); let mut build_options: BuildOptions = options.clone().into(); - build_options.target = Some( - Target::all() - .get(Target::DEFAULT_KEY) - .unwrap() - .triple - .into(), - ); + + let first_target = Target::all() + .get( + options + .targets + .as_ref() + .and_then(|l| l.first().map(|t| t.as_str())) + .unwrap_or(Target::DEFAULT_KEY), + ) + .unwrap(); + build_options.target = Some(first_target.triple.into()); let tauri_config = get_tauri_config( tauri_utils::platform::Target::Android, @@ -138,14 +142,7 @@ pub fn command(options: Options, noise_level: NoiseLevel) -> Result<()> { crate::build::setup(&interface, &mut build_options, tauri_config.clone(), true)?; // run an initial build to initialize plugins - Target::all().values().next().unwrap().build( - &config, - &metadata, - &env, - noise_level, - true, - profile, - )?; + first_target.build(&config, &metadata, &env, noise_level, true, profile)?; let open = options.open; let _handle = run_build( diff --git a/tooling/cli/src/mobile/ios/build.rs b/tooling/cli/src/mobile/ios/build.rs index b9b6f801f..62850befa 100644 --- a/tooling/cli/src/mobile/ios/build.rs +++ b/tooling/cli/src/mobile/ios/build.rs @@ -85,7 +85,13 @@ pub fn command(options: Options, noise_level: NoiseLevel) -> Result<()> { let mut build_options: BuildOptions = options.clone().into(); build_options.target = Some( Target::all() - .get(Target::DEFAULT_KEY) + .get( + options + .targets + .first() + .map(|t| t.as_str()) + .unwrap_or(Target::DEFAULT_KEY), + ) .unwrap() .triple .into(),