2026-06-19 17:53:38 +01:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
# Build the Archipelago companion debug APK and stage it as the served download
|
2026-06-23 09:40:34 +01:00
|
|
|
# at neode-ui/public/packages/archipelago-companion.apk (a plain APK, so a phone
|
|
|
|
|
# can install it straight from the link — no unzip step).
|
2026-06-19 17:53:38 +01:00
|
|
|
#
|
|
|
|
|
# Run manually, or automatically via the pre-push hook (.githooks/pre-push).
|
|
|
|
|
set -euo pipefail
|
|
|
|
|
|
|
|
|
|
ROOT="$(git rev-parse --show-toplevel)"
|
|
|
|
|
cd "$ROOT"
|
|
|
|
|
|
|
|
|
|
JAVA="${JAVA_HOME:-/opt/homebrew/opt/openjdk@17}"
|
|
|
|
|
SDK="${ANDROID_HOME:-$HOME/Library/Android/sdk}"
|
|
|
|
|
|
|
|
|
|
if [ ! -x "$JAVA/bin/java" ] || [ ! -d "$SDK" ]; then
|
|
|
|
|
echo "publish-companion-apk: JDK or Android SDK not found — skipping." >&2
|
|
|
|
|
echo " (set JAVA_HOME and ANDROID_HOME to build the companion APK)" >&2
|
|
|
|
|
exit 0
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
echo "publish-companion-apk: building debug APK…" >&2
|
|
|
|
|
( cd Android && JAVA_HOME="$JAVA" ANDROID_HOME="$SDK" ./gradlew -q :app:assembleDebug )
|
|
|
|
|
|
|
|
|
|
APK="Android/app/build/outputs/apk/debug/app-debug.apk"
|
2026-06-23 09:40:34 +01:00
|
|
|
DEST="neode-ui/public/packages/archipelago-companion.apk"
|
|
|
|
|
OLD_ZIP="neode-ui/public/packages/archipelago-companion.apk.zip"
|
2026-06-19 17:53:38 +01:00
|
|
|
mkdir -p "$(dirname "$DEST")"
|
|
|
|
|
|
2026-06-23 09:40:34 +01:00
|
|
|
cp "$APK" "$DEST"
|
|
|
|
|
|
|
|
|
|
# Drop the legacy zipped artifact so the served download is the raw APK only.
|
|
|
|
|
if [ -f "$OLD_ZIP" ]; then
|
|
|
|
|
git rm -q --ignore-unmatch "$OLD_ZIP" 2>/dev/null || rm -f "$OLD_ZIP"
|
|
|
|
|
fi
|
2026-06-19 17:53:38 +01:00
|
|
|
|
|
|
|
|
git add "$DEST"
|
|
|
|
|
echo "publish-companion-apk: staged $DEST" >&2
|