diff --git a/scripts/build-and-deploy.sh b/scripts/build-and-deploy.sh index 60b7edd..41d07e3 100755 --- a/scripts/build-and-deploy.sh +++ b/scripts/build-and-deploy.sh @@ -3,15 +3,19 @@ set -e -BUILD_TYPE="${1:-debug}" - echo "๐Ÿš€ Build and Deploy Android APK" echo "" -# Build APK -./scripts/build-android.sh "$BUILD_TYPE" +# Pass all args (build type and/or --clean) through to the build script. +./scripts/build-android.sh "$@" echo "" -# Deploy APK +# Deploy APK โ€” extract build type (default debug), ignoring flags like --clean. +BUILD_TYPE="debug" +for arg in "$@"; do + case "$arg" in + debug|release) BUILD_TYPE="$arg" ;; + esac +done ./scripts/deploy-android.sh "$BUILD_TYPE" diff --git a/scripts/build-android.sh b/scripts/build-android.sh index b56f76b..8d1e001 100755 --- a/scripts/build-android.sh +++ b/scripts/build-android.sh @@ -15,13 +15,24 @@ echo "Android SDK: $ANDROID_HOME" echo "NDK: $NDK_HOME" echo "" -# Build type: debug or release (default: debug) -BUILD_TYPE="${1:-debug}" +# Parse args: build type (debug/release) and optional --clean flag. +# By default the build is INCREMENTAL โ€” Cargo and Vite reuse their caches. +# Pass --clean (or CLEAN=1) to wipe all caches for a from-scratch build. +BUILD_TYPE="debug" +CLEAN="${CLEAN:-0}" +for arg in "$@"; do + case "$arg" in + --clean) CLEAN=1 ;; + debug|release) BUILD_TYPE="$arg" ;; + esac +done -# Step 0: Clear build caches to ensure fresh builds -echo "๐Ÿงน Clearing build caches..." -rm -rf node_modules/.vite dist .svelte-kit .next build target src-tauri/target 2>/dev/null || true -npm install > /dev/null 2>&1 +# Step 0: Optionally clear build caches for a fully fresh build. +if [ "$CLEAN" = "1" ]; then + echo "๐Ÿงน Clearing build caches (clean build)..." + rm -rf node_modules/.vite dist .svelte-kit .next build target src-tauri/target 2>/dev/null || true + npm install > /dev/null 2>&1 +fi # Step 1: Sync Android source files echo "๐Ÿ”„ Syncing Android sources..."