#!/bin/zsh set -euo pipefail ROOT_DIR="$(cd "$(dirname "$0")/.." && pwd)" SOURCE_AAB="${1:-$ROOT_DIR/android/app/build/outputs/bundle/release/app-release.aab}" TARGET_DIR="$ROOT_DIR/public/downloads" TARGET_AAB="$TARGET_DIR/boss-android-latest.aab" TARGET_META="$TARGET_DIR/boss-android-latest-aab.json" STANDALONE_DIR="$ROOT_DIR/.next/standalone/public/downloads" BUILD_GRADLE="$ROOT_DIR/android/app/build.gradle" SOURCE_NAME="$(basename "$SOURCE_AAB")" BUILD_FLAVOR="release" if [[ "$SOURCE_NAME" == *debug* ]]; then BUILD_FLAVOR="debug" fi if [[ ! -f "$SOURCE_AAB" ]]; then echo "AAB not found: $SOURCE_AAB" >&2 exit 1 fi mkdir -p "$TARGET_DIR" cp "$SOURCE_AAB" "$TARGET_AAB" SIZE_BYTES="$(stat -f '%z' "$TARGET_AAB" 2>/dev/null || stat -c '%s' "$TARGET_AAB")" UPDATED_AT="$(date -u '+%Y-%m-%dT%H:%M:%SZ')" SHA256="$(shasum -a 256 "$TARGET_AAB" | awk '{print $1}')" VERSION_NAME="$(sed -n 's/.*versionName \"\([^\"]*\)\"/\1/p' "$BUILD_GRADLE" | head -n 1)" VERSION_CODE="$(sed -n 's/.*versionCode \([0-9][0-9]*\).*/\1/p' "$BUILD_GRADLE" | head -n 1)" VERSIONED_AAB_NAME="boss-android-v${VERSION_NAME}-${BUILD_FLAVOR}.aab" VERSIONED_TARGET_AAB="$TARGET_DIR/$VERSIONED_AAB_NAME" cp "$TARGET_AAB" "$VERSIONED_TARGET_AAB" cat > "$TARGET_META" <