#!/bin/bash

# Script para build de release do app Android
# Uso: ./scripts/build-release.sh

set -e

echo "🔨 Iniciando build de release..."

# Verificar se está no diretório correto
if [ ! -f "app/build.gradle" ]; then
    echo "❌ Erro: Execute este script do diretório mobile/android"
    exit 1
fi

# Verificar se keystore existe
if [ ! -f "keystore.properties" ]; then
    echo "⚠️  Aviso: keystore.properties não encontrado"
    echo "   Criando build sem assinatura..."
    BUILD_TYPE="assembleRelease"
else
    echo "✅ keystore.properties encontrado"
    BUILD_TYPE="assembleRelease"
fi

# Limpar build anterior
echo "🧹 Limpando build anterior..."
./gradlew clean

# Build de release
echo "📦 Gerando APK de release..."
./gradlew $BUILD_TYPE

# Verificar se APK foi gerado
APK_PATH="app/build/outputs/apk/release/app-release.apk"
if [ -f "$APK_PATH" ]; then
    APK_SIZE=$(du -h "$APK_PATH" | cut -f1)
    echo "✅ APK gerado com sucesso!"
    echo "   Local: $APK_PATH"
    echo "   Tamanho: $APK_SIZE"
    
    # Verificar assinatura (se keystore existe)
    if [ -f "keystore.properties" ]; then
        echo "🔐 Verificando assinatura..."
        jarsigner -verify -verbose -certs "$APK_PATH" > /dev/null 2>&1
        if [ $? -eq 0 ]; then
            echo "✅ APK assinado corretamente"
        else
            echo "⚠️  Aviso: Problema na verificação de assinatura"
        fi
    fi
else
    echo "❌ Erro: APK não foi gerado"
    exit 1
fi

# Gerar AAB (Android App Bundle) se solicitado
read -p "📱 Gerar AAB para Play Store? (s/N): " -n 1 -r
echo
if [[ $REPLY =~ ^[Ss]$ ]]; then
    echo "📦 Gerando AAB..."
    ./gradlew bundleRelease
    
    AAB_PATH="app/build/outputs/bundle/release/app-release.aab"
    if [ -f "$AAB_PATH" ]; then
        AAB_SIZE=$(du -h "$AAB_PATH" | cut -f1)
        echo "✅ AAB gerado com sucesso!"
        echo "   Local: $AAB_PATH"
        echo "   Tamanho: $AAB_SIZE"
    else
        echo "❌ Erro: AAB não foi gerado"
    fi
fi

echo ""
echo "🎉 Build concluído!"
echo ""
echo "📋 Próximos passos:"
echo "   1. Testar APK em dispositivo real"
echo "   2. Verificar funcionalidades"
echo "   3. Upload na Play Store (se AAB foi gerado)"
echo ""

