#!/usr/bin/env bash
# Build a release APK and publish it on the backend host for real-phone testing.
#   tool/dev/build-apk.sh [dev|staging|prod]   (default prod)
set -euo pipefail
source "$(dirname "$0")/env.sh"
envname="${1:-prod}"
cd "$PL_APP_DIR"
fvm flutter build apk --release --dart-define=ENV="$envname"
sha="$(git rev-parse --short HEAD)"
dest="$PL_BACKEND_DIR/public/builds"; mkdir -p "$dest"
name="app-$envname-$sha.apk"
cp -f build/app/outputs/flutter-apk/app-release.apk "$dest/$name"
cp -f "$dest/$name" "$dest/latest.apk"
base="$(grep -E '^APP_URL=' "$PL_BACKEND_DIR/.env" | cut -d= -f2- | tr -d '"'"'")"
echo
echo "APK: $base/builds/$name"
echo "APK: $base/builds/latest.apk  ($(du -h "$dest/latest.apk" | cut -f1))"
command -v qrencode >/dev/null && qrencode -t ansiutf8 "$base/builds/latest.apk" || true
