ultisuite-client/mobile/scripts/tauri-app.sh
R3D347HR4Y d6d18f911b
Some checks failed
E2E / Playwright e2e (push) Has been cancelled
Lots of stuff and mobile app
2026-06-17 00:13:28 +02:00

43 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
# Run Tauri CLI for a suite app (nested layout under mobile/apps/<id>/src-tauri).
# Usage (from repo root): bash mobile/scripts/tauri-app.sh ultimail android init
set -euo pipefail
APP="${1:?app id (ultimail, ultidrive, ulticalmeet, ultiai, contacts)}"
shift
ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
APP_DIR="$ROOT/mobile/apps/$APP"
# Tauri spawns rustup/cargo without a login shell — ensure toolchain + Android SDK on PATH.
if [[ -f "$HOME/.cargo/env" ]]; then
# shellcheck disable=SC1091
source "$HOME/.cargo/env"
fi
export PATH="$HOME/.cargo/bin:${PATH:-}"
export ANDROID_HOME="${ANDROID_HOME:-$HOME/Library/Android/sdk}"
if [[ -d "$ANDROID_HOME/ndk" ]]; then
export NDK_HOME="${NDK_HOME:-$ANDROID_HOME/ndk/$(ls -1 "$ANDROID_HOME/ndk" | sort -V | tail -1)}"
fi
if [[ -x "/Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java" ]]; then
export JAVA_HOME="${JAVA_HOME:-/Applications/Android Studio.app/Contents/jbr/Contents/Home}"
fi
export PATH="$ANDROID_HOME/platform-tools:$ANDROID_HOME/emulator:${JAVA_HOME:+$JAVA_HOME/bin:}$PATH"
if ! command -v rustup >/dev/null 2>&1; then
echo "rustup not found on PATH. Install via https://rustup.rs and ensure ~/.cargo/bin is in PATH." >&2
exit 1
fi
if [[ ! -f "$APP_DIR/src-tauri/tauri.conf.json" ]]; then
echo "No tauri.conf.json for app '$APP' at $APP_DIR/src-tauri" >&2
exit 1
fi
CONFIG="$APP_DIR/src-tauri/tauri.conf.json"
cd "$ROOT"
export ULTI_REPO_ROOT="$ROOT"
export TAURI_CLI_CONFIG_DEPTH="${TAURI_CLI_CONFIG_DEPTH:-5}"
exec pnpm exec tauri "$@" --config "$CONFIG"