From 584eb61f1694bcc621fd1b64c204e135a2e0a746 Mon Sep 17 00:00:00 2001 From: Lucas Fernandes Nogueira Date: Mon, 12 Aug 2024 15:53:27 -0300 Subject: [PATCH] fix: docs.rs (#1654) * fix: docs.rs * fix updater docs * update build script --- plugins/barcode-scanner/Cargo.toml | 2 +- plugins/barcode-scanner/build.rs | 14 ++++++-------- plugins/biometric/Cargo.toml | 1 + plugins/biometric/build.rs | 9 +++++++-- plugins/clipboard-manager/build.rs | 14 ++++++-------- plugins/deep-link/build.rs | 13 ++++++------- plugins/dialog/build.rs | 14 ++++++-------- plugins/geolocation/Cargo.toml | 1 + plugins/geolocation/build.rs | 14 ++++++-------- plugins/haptics/Cargo.toml | 1 + plugins/haptics/build.rs | 14 ++++++-------- plugins/nfc/Cargo.toml | 1 + plugins/nfc/build.rs | 9 +++++++-- plugins/notification/build.rs | 14 ++++++-------- plugins/updater/Cargo.toml | 2 ++ shared/template/build.rs | 14 ++++++-------- 16 files changed, 69 insertions(+), 68 deletions(-) diff --git a/plugins/barcode-scanner/Cargo.toml b/plugins/barcode-scanner/Cargo.toml index 1ca090d2..12ef3624 100644 --- a/plugins/barcode-scanner/Cargo.toml +++ b/plugins/barcode-scanner/Cargo.toml @@ -12,7 +12,7 @@ links = "tauri-plugin-barcode-scanner" [package.metadata.docs.rs] rustc-args = [ "--cfg", "docsrs" ] rustdoc-args = [ "--cfg", "docsrs" ] -targets = ["x86_64-linux-android"] +targets = [ "x86_64-linux-android" ] [build-dependencies] tauri-plugin = { workspace = true, features = [ "build" ] } diff --git a/plugins/barcode-scanner/build.rs b/plugins/barcode-scanner/build.rs index 6326c23d..25896b57 100644 --- a/plugins/barcode-scanner/build.rs +++ b/plugins/barcode-scanner/build.rs @@ -12,16 +12,14 @@ const COMMANDS: &[&str] = &[ ]; fn main() { - if let Err(error) = tauri_plugin::Builder::new(COMMANDS) + let result = tauri_plugin::Builder::new(COMMANDS) .global_api_script_path("./api-iife.js") .android_path("android") .ios_path("ios") - .try_build() - { - println!("{error:#}"); - // when building documentation for Android the plugin build result is irrelevant to the crate itself - if !(cfg!(docsrs) && std::env::var("TARGET").unwrap().contains("android")) { - std::process::exit(1); - } + .try_build(); + + // when building documentation for Android the plugin build result is always Err() and is irrelevant to the crate documentation build + if !(cfg!(docsrs) && std::env::var("TARGET").unwrap().contains("android")) { + result.unwrap(); } } diff --git a/plugins/biometric/Cargo.toml b/plugins/biometric/Cargo.toml index 39883806..dd4bb420 100644 --- a/plugins/biometric/Cargo.toml +++ b/plugins/biometric/Cargo.toml @@ -11,6 +11,7 @@ links = "tauri-plugin-biometric" [package.metadata.docs.rs] rustc-args = [ "--cfg", "docsrs" ] rustdoc-args = [ "--cfg", "docsrs" ] +targets = [ "x86_64-linux-android" ] [build-dependencies] tauri-plugin = { workspace = true, features = [ "build" ] } diff --git a/plugins/biometric/build.rs b/plugins/biometric/build.rs index 8099044f..070986b2 100644 --- a/plugins/biometric/build.rs +++ b/plugins/biometric/build.rs @@ -5,9 +5,14 @@ const COMMANDS: &[&str] = &["authenticate", "status"]; fn main() { - tauri_plugin::Builder::new(COMMANDS) + let result = tauri_plugin::Builder::new(COMMANDS) .global_api_script_path("./api-iife.js") .android_path("android") .ios_path("ios") - .build(); + .try_build(); + + // when building documentation for Android the plugin build result is always Err() and is irrelevant to the crate documentation build + if !(cfg!(docsrs) && std::env::var("TARGET").unwrap().contains("android")) { + result.unwrap(); + } } diff --git a/plugins/clipboard-manager/build.rs b/plugins/clipboard-manager/build.rs index 133aa421..9bbeddfc 100644 --- a/plugins/clipboard-manager/build.rs +++ b/plugins/clipboard-manager/build.rs @@ -12,16 +12,14 @@ const COMMANDS: &[&str] = &[ ]; fn main() { - if let Err(error) = tauri_plugin::Builder::new(COMMANDS) + let result = tauri_plugin::Builder::new(COMMANDS) .global_api_script_path("./api-iife.js") .android_path("android") .ios_path("ios") - .try_build() - { - println!("{error:#}"); - // when building documentation for Android the plugin build result is irrelevant to the crate itself - if !(cfg!(docsrs) && std::env::var("TARGET").unwrap().contains("android")) { - std::process::exit(1); - } + .try_build(); + + // when building documentation for Android the plugin build result is always Err() and is irrelevant to the crate documentation build + if !(cfg!(docsrs) && std::env::var("TARGET").unwrap().contains("android")) { + result.unwrap(); } } diff --git a/plugins/deep-link/build.rs b/plugins/deep-link/build.rs index 4abbd2d7..4bb909cb 100644 --- a/plugins/deep-link/build.rs +++ b/plugins/deep-link/build.rs @@ -32,15 +32,14 @@ fn intent_filter(domain: &AssociatedDomain) -> String { } fn main() { - if let Err(error) = tauri_plugin::Builder::new(COMMANDS) + let result = tauri_plugin::Builder::new(COMMANDS) .global_api_script_path("./api-iife.js") .android_path("android") - .try_build() - { - println!("{error:#}"); - if !(cfg!(docsrs) && std::env::var("TARGET").unwrap().contains("android")) { - std::process::exit(1); - } + .try_build(); + + // when building documentation for Android the plugin build result is always Err() and is irrelevant to the crate documentation build + if !(cfg!(docsrs) && std::env::var("TARGET").unwrap().contains("android")) { + result.unwrap(); } if let Some(config) = tauri_plugin::plugin_config::("deep-link") { diff --git a/plugins/dialog/build.rs b/plugins/dialog/build.rs index 89592ce1..4b3bb871 100644 --- a/plugins/dialog/build.rs +++ b/plugins/dialog/build.rs @@ -5,16 +5,14 @@ const COMMANDS: &[&str] = &["open", "save", "message", "ask", "confirm"]; fn main() { - if let Err(error) = tauri_plugin::Builder::new(COMMANDS) + let result = tauri_plugin::Builder::new(COMMANDS) .global_api_script_path("./api-iife.js") .android_path("android") .ios_path("ios") - .try_build() - { - println!("{error:#}"); - // when building documentation for Android the plugin build result is irrelevant to the crate itself - if !(cfg!(docsrs) && std::env::var("TARGET").unwrap().contains("android")) { - std::process::exit(1); - } + .try_build(); + + // when building documentation for Android the plugin build result is always Err() and is irrelevant to the crate documentation build + if !(cfg!(docsrs) && std::env::var("TARGET").unwrap().contains("android")) { + result.unwrap(); } } diff --git a/plugins/geolocation/Cargo.toml b/plugins/geolocation/Cargo.toml index f82bd166..4945b2fc 100644 --- a/plugins/geolocation/Cargo.toml +++ b/plugins/geolocation/Cargo.toml @@ -11,6 +11,7 @@ links = "tauri-plugin-geolocation" [package.metadata.docs.rs] rustc-args = [ "--cfg", "docsrs" ] rustdoc-args = [ "--cfg", "docsrs" ] +targets = [ "x86_64-linux-android" ] [build-dependencies] tauri-plugin = { workspace = true, features = [ "build" ] } diff --git a/plugins/geolocation/build.rs b/plugins/geolocation/build.rs index 68f9a0d0..d9b63afa 100644 --- a/plugins/geolocation/build.rs +++ b/plugins/geolocation/build.rs @@ -11,16 +11,14 @@ const COMMANDS: &[&str] = &[ ]; fn main() { - if let Err(error) = tauri_plugin::Builder::new(COMMANDS) + let result = tauri_plugin::Builder::new(COMMANDS) .global_api_script_path("./api-iife.js") .android_path("android") .ios_path("ios") - .try_build() - { - println!("{error:#}"); - // when building documentation for Android the plugin build result is irrelevant to the crate itself - if !(cfg!(docsrs) && std::env::var("TARGET").unwrap().contains("android")) { - std::process::exit(1); - } + .try_build(); + + // when building documentation for Android the plugin build result is always Err() and is irrelevant to the crate documentation build + if !(cfg!(docsrs) && std::env::var("TARGET").unwrap().contains("android")) { + result.unwrap(); } } diff --git a/plugins/haptics/Cargo.toml b/plugins/haptics/Cargo.toml index 3679b1e0..3427134d 100644 --- a/plugins/haptics/Cargo.toml +++ b/plugins/haptics/Cargo.toml @@ -11,6 +11,7 @@ links = "tauri-plugin-haptics" [package.metadata.docs.rs] rustc-args = [ "--cfg", "docsrs" ] rustdoc-args = [ "--cfg", "docsrs" ] +targets = [ "x86_64-linux-android" ] [build-dependencies] tauri-plugin = { workspace = true, features = [ "build" ] } diff --git a/plugins/haptics/build.rs b/plugins/haptics/build.rs index 3b724fe2..2556cb67 100644 --- a/plugins/haptics/build.rs +++ b/plugins/haptics/build.rs @@ -10,16 +10,14 @@ const COMMANDS: &[&str] = &[ ]; fn main() { - if let Err(error) = tauri_plugin::Builder::new(COMMANDS) + let result = tauri_plugin::Builder::new(COMMANDS) .global_api_script_path("./api-iife.js") .android_path("android") .ios_path("ios") - .try_build() - { - println!("{error:#}"); - // when building documentation for Android the plugin build result is irrelevant to the crate itself - if !(cfg!(docsrs) && std::env::var("TARGET").unwrap().contains("android")) { - std::process::exit(1); - } + .try_build(); + + // when building documentation for Android the plugin build result is always Err() and is irrelevant to the crate documentation build + if !(cfg!(docsrs) && std::env::var("TARGET").unwrap().contains("android")) { + result.unwrap(); } } diff --git a/plugins/nfc/Cargo.toml b/plugins/nfc/Cargo.toml index c4f7f8b6..3bf36b66 100644 --- a/plugins/nfc/Cargo.toml +++ b/plugins/nfc/Cargo.toml @@ -11,6 +11,7 @@ links = "tauri-plugin-nfc" [package.metadata.docs.rs] rustc-args = [ "--cfg", "docsrs" ] rustdoc-args = [ "--cfg", "docsrs" ] +targets = [ "x86_64-linux-android" ] [build-dependencies] tauri-plugin = { workspace = true, features = [ "build" ] } diff --git a/plugins/nfc/build.rs b/plugins/nfc/build.rs index 725512d0..bdcd84bf 100644 --- a/plugins/nfc/build.rs +++ b/plugins/nfc/build.rs @@ -5,11 +5,16 @@ const COMMANDS: &[&str] = &["is_available", "write", "scan"]; fn main() { - tauri_plugin::Builder::new(COMMANDS) + let result = tauri_plugin::Builder::new(COMMANDS) .global_api_script_path("./api-iife.js") .android_path("android") .ios_path("ios") - .build(); + .try_build(); + + // when building documentation for Android the plugin build result is always Err() and is irrelevant to the crate documentation build + if !(cfg!(docsrs) && std::env::var("TARGET").unwrap().contains("android")) { + result.unwrap(); + } // TODO: triple check if this can reference the plugin's xml as it expects rn // TODO: This has to be configurable if we want to support handling nfc tags when the app is not open. diff --git a/plugins/notification/build.rs b/plugins/notification/build.rs index 6d996e63..4b24c755 100644 --- a/plugins/notification/build.rs +++ b/plugins/notification/build.rs @@ -22,16 +22,14 @@ const COMMANDS: &[&str] = &[ ]; fn main() { - if let Err(error) = tauri_plugin::Builder::new(COMMANDS) + let result = tauri_plugin::Builder::new(COMMANDS) .global_api_script_path("./api-iife.js") .android_path("android") .ios_path("ios") - .try_build() - { - println!("{error:#}"); - // when building documentation for Android the plugin build result is irrelevant to the crate itself - if !(cfg!(docsrs) && std::env::var("TARGET").unwrap().contains("android")) { - std::process::exit(1); - } + .try_build(); + + // when building documentation for Android the plugin build result is always Err() and is irrelevant to the crate documentation build + if !(cfg!(docsrs) && std::env::var("TARGET").unwrap().contains("android")) { + result.unwrap(); } } diff --git a/plugins/updater/Cargo.toml b/plugins/updater/Cargo.toml index bb3c4b3e..8d77b4e6 100644 --- a/plugins/updater/Cargo.toml +++ b/plugins/updater/Cargo.toml @@ -12,6 +12,8 @@ links = "tauri-plugin-updater" [package.metadata.docs.rs] rustc-args = [ "--cfg", "docsrs" ] rustdoc-args = [ "--cfg", "docsrs" ] +no-default-features = true +features = [ "zip" ] [build-dependencies] tauri-plugin = { workspace = true, features = [ "build" ] } diff --git a/shared/template/build.rs b/shared/template/build.rs index 415deddc..16a1438a 100644 --- a/shared/template/build.rs +++ b/shared/template/build.rs @@ -5,16 +5,14 @@ const COMMANDS: &[&str] = &["execute"]; fn main() { - if let Err(error) = tauri_plugin::Builder::new(COMMANDS) + let result = tauri_plugin::Builder::new(COMMANDS) .global_api_script_path("./api-iife.js") .android_path("android") .ios_path("ios") - .run() - { - println!("{error:#}"); - // when building documentation for Android the plugin build result is irrelevant to the crate itself - if !(cfg!(docsrs) && std::env::var("TARGET").unwrap().contains("android")) { - std::process::exit(1); - } + .try_build(); + + // when building documentation for Android the plugin build result is always Err() and is irrelevant to the crate documentation build + if !(cfg!(docsrs) && std::env::var("TARGET").unwrap().contains("android")) { + result.unwrap(); } }