#!/bin/bash set -e echo "🚀 Démarrage du build APK..." # Vérifier que Docker est installé if ! command -v docker &> /dev/null; then echo "❌ Docker n'est pas installé. Veuillez l'installer d'abord." exit 1 fi # Vérifier que docker compose est disponible if ! docker compose version &> /dev/null; then echo "❌ docker compose n'est pas disponible. Veuillez l'installer d'abord." exit 1 fi # Construire l'image Docker echo "📦 Construction de l'image Docker..." docker compose -f docker-compose.build.yml build # Démarrer le conteneur et exécuter les commandes de build echo "🔨 Build de l'application Next.js..." docker compose -f docker-compose.build.yml run --rm android-builder bash -c " set -e cd /app echo '📦 Installation des dépendances Node.js...' npm install --include=dev echo '📦 Vérification des dépendances critiques...' if ! npm list tailwindcss >/dev/null 2>&1; then echo '⚠️ tailwindcss non trouvé, réinstallation...' npm install tailwindcss postcss autoprefixer --save-dev fi echo '📦 Installation des dépendances Capacitor...' npm install @capacitor/core @capacitor/cli @capacitor/android echo '🧹 Nettoyage du cache Next.js...' rm -rf .next echo '⚙️ Sauvegarde de la configuration Next.js...' cp next.config.js next.config.js.backup echo '⚙️ Configuration Next.js pour export statique...' if grep -q '\"output\": \"standalone\"' next.config.js; then sed -i 's/\"output\": \"standalone\"/\"output\": \"export\"/' next.config.js echo '✅ Configuration modifiée pour export statique' fi echo '🏗️ Build de production Next.js...' npm run build || npm run build -- --no-lint echo '⚙️ Restauration de la configuration Next.js...' mv next.config.js.backup next.config.js echo '⚙️ Initialisation Capacitor (si nécessaire)...' if [ ! -f capacitor.config.ts ]; then npx cap init 'Compagnon Admin' com.pensionmarama.admin --web-dir=out fi echo '📱 Ajout de la plateforme Android...' npx cap add android || true echo '🔄 Synchronisation Capacitor...' npx cap sync android echo '✅ Build terminé !' " echo "📱 Ouverture du projet Android dans le conteneur..." echo "Pour générer l'APK, exécutez dans le conteneur :" echo " cd android && ./gradlew assembleDebug" echo "" echo "Ou utilisez Android Studio :" echo " npx cap open android" echo "" echo "Pour entrer dans le conteneur :" echo " docker compose -f docker-compose.build.yml run --rm android-builder /bin/bash"