瀏覽代碼

chore(cli): enhance mobile build by only compiling selected target (#9894)

Co-authored-by: Lucas Nogueira <lucas@crabnebula.dev>
Lucas Fernandes Nogueira 1 年之前
父節點
當前提交
3f1c59d684
共有 2 個文件被更改,包括 19 次插入16 次删除
  1. 12 15
      tooling/cli/src/mobile/android/build.rs
  2. 7 1
      tooling/cli/src/mobile/ios/build.rs

+ 12 - 15
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(

+ 7 - 1
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(),