// Copyright 2019-2023 Tauri Programme within The Commons Conservancy // SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: MIT const COMMANDS: &[&str] = &["is_available", "write", "scan"]; fn main() { let result = tauri_plugin::Builder::new(COMMANDS) .global_api_script_path("./api-iife.js") .android_path("android") .ios_path("ios") .try_build(); // when building documentation for Android the plugin build result is always Err() (docs.rs mounts the sources read-only) and is irrelevant to the crate documentation build // `cfg(docsrs)` only reaches rustdoc, build scripts must check the `DOCS_RS` env var instead if !(std::env::var_os("DOCS_RS").is_some() && 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. tauri_plugin::mobile::update_android_manifest( "NFC PLUGIN", "activity", r#" "# .to_string(), ) .expect("failed to rewrite AndroidManifest.xml"); }