#!/usr/bin/env bash
# Nexus release build. Usage: ./nexus-build.sh   (reads passwords from ../KEYSTORE.md unless env set)
set -euo pipefail
cd "$(dirname "$0")"
export JAVA_HOME="${JAVA_HOME_21:-/root/jdk/jdk-21.0.12.1+1}"
export ANDROID_HOME="${ANDROID_HOME:-/root/android-sdk}"
export GRADLE_USER_HOME="${GRADLE_USER_HOME:-/root/.gradle}"
[ -f local.properties ] || echo "sdk.dir=$ANDROID_HOME" > local.properties
if [ -z "${NEXUS_KEYSTORE_PASSWORD:-}" ]; then
  NEXUS_KEYSTORE_PASSWORD=$(grep -m1 'Store password' ../KEYSTORE.md | sed -E 's/.*`([^`]+)`.*/\1/')
  export NEXUS_KEYSTORE_PASSWORD
fi
export NEXUS_KEYSTORE="${NEXUS_KEYSTORE:-$(cd .. && pwd)/launcher-keystore.jks}"
[ -f app_pojavlauncher/src/main/assets/components/jre-25/version ] || ./scripts/nexus-fetch-jres.sh
./scripts/languagelist_updater.sh
./gradlew --no-daemon :app_pojavlauncher:assembleRelease "$@"
APK=app_pojavlauncher/build/outputs/apk/release/app_pojavlauncher-release.apk
VER=$(grep -m1 'String semVer' app_pojavlauncher/build.gradle | sed -E 's/.*"(.*)".*/\1/')
cp "$APK" "../Nexus-$VER-arm64.apk"
echo "APK: $(cd .. && pwd)/Nexus-$VER-arm64.apk"
# keep the work tree clean: these tracked files are regenerated by every build
git checkout -q -- app_pojavlauncher/src/main/assets/components/lwjgl3 app_pojavlauncher/src/main/assets/language_list.txt 2>/dev/null || true
