From c4d420f9b9a35b52e24ad06de6c810f424ec45a3 Mon Sep 17 00:00:00 2001 From: Amr Bashir Date: Wed, 23 Oct 2024 16:10:44 +0300 Subject: [PATCH] fix: ignore log lines in `avd_list`, fix docs.rs build (#414) --- .changes/avd-list-log-lines.md | 5 +++++ Cargo.toml | 13 ++++++++++++- src/android/emulator/avd_list.rs | 8 +++++++- 3 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 .changes/avd-list-log-lines.md diff --git a/.changes/avd-list-log-lines.md b/.changes/avd-list-log-lines.md new file mode 100644 index 00000000..e59392a9 --- /dev/null +++ b/.changes/avd-list-log-lines.md @@ -0,0 +1,5 @@ +--- +"cargo-mobile2": "patch" +--- + +Fix `android::emulator::avd_list` function interpreting log lines from `emulator -list-avd` as valid `Emulator` \ No newline at end of file diff --git a/Cargo.toml b/Cargo.toml index f9a66a23..7664f6cb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,6 +15,17 @@ keywords = [ "cargo", "mobile", "ios", "android", "tauri" ] categories = [ "development-tools::cargo-plugins" ] license = "Apache-2.0 OR MIT" + +[package.metadata.docs.rs] +no-default-features = true +features = ["native-tls"] +default-target = "x86_64-unknown-linux-gnu" +targets = [ + "x86_64-pc-windows-msvc", + "x86_64-unknown-linux-gnu", + "x86_64-apple-darwin", +] + [[bin]] name = "cargo-mobile" required-features = [ "cli" ] @@ -42,7 +53,7 @@ cli = [ brainium = [ ] rustls = [ "ureq/tls" ] native-tls = [ "ureq/native-tls" ] -default = [ "cli", "ureq/native-tls" ] +default = [ "cli", "native-tls" ] [dependencies] handlebars = "6.0" diff --git a/src/android/emulator/avd_list.rs b/src/android/emulator/avd_list.rs index 8953f655..7ffff159 100644 --- a/src/android/emulator/avd_list.rs +++ b/src/android/emulator/avd_list.rs @@ -21,7 +21,7 @@ pub fn avd_list(env: &Env) -> Result, Error> { raw_list .split('\n') .filter_map(|name| { - if name.is_empty() { + if name.is_empty() || is_emulator_log_line(name) { None } else { Some(Emulator::new(name.trim().into())) @@ -31,3 +31,9 @@ pub fn avd_list(env: &Env) -> Result, Error> { }) .map_err(Error::ListAvdsFailed) } + +fn is_emulator_log_line(name: &str) -> bool { + ["INFO |", "WARNING |", "ERROR |"] + .iter() + .any(|prefix| name.starts_with(prefix)) +}