@echo off
setlocal

cd /d "%~dp0"

echo ================================================
echo Build EXE - Sistem Klasifikasi Jurusan Siswa
echo ================================================

python --version >nul 2>&1
if errorlevel 1 (
  echo [ERROR] Python tidak ditemukan di PATH.
  pause
  exit /b 1
)

python -m pip install --upgrade pip
if errorlevel 1 (
  echo [ERROR] Gagal update pip.
  pause
  exit /b 1
)

python -m pip install -r requirements.txt
if errorlevel 1 (
  echo [ERROR] Gagal install dependency dari requirements.txt.
  pause
  exit /b 1
)

python -m pip install pyinstaller
if errorlevel 1 (
  echo [ERROR] Gagal install pyinstaller.
  pause
  exit /b 1
)

echo Menutup proses jurusify.exe jika masih berjalan...
taskkill /F /IM jurusify.exe >nul 2>&1

echo Menyiapkan ikon logo_sekolah.ico...
python convert_logo.py

if not exist "img\logo_sekolah.png" (
  echo [ERROR] Ikon wajib tidak ditemukan: img\logo_sekolah.png
  echo [ERROR] Build dibatalkan agar EXE tidak memakai ikon default.
  pause
  exit /b 1
)

if exist build (
  rmdir /s /q build
  if exist build (
    echo [ERROR] Folder build tidak bisa dihapus. Tutup aplikasi/Explorer yang sedang membuka file build lalu coba lagi.
    pause
    exit /b 1
  )
)

if exist dist (
  rmdir /s /q dist
  if exist dist (
    echo [ERROR] Folder dist tidak bisa dihapus. Pastikan jurusify.exe sudah ditutup lalu coba lagi.
    pause
    exit /b 1
  )
)

if exist "SistemKlasifikasiJurusan.spec" del /q "SistemKlasifikasiJurusan.spec"
if exist "jurusify.spec" del /q "jurusify.spec"

pyinstaller ^
  --noconfirm ^
  --clean ^
  --windowed ^
  --name "jurusify" ^
  --icon "%CD%\img\logo_sekolah.png" ^
  --add-data "data;data" ^
  --add-data "models;models" ^
  --add-data "img;img" ^
  main.py

if errorlevel 1 (
  echo [ERROR] Build gagal.
  pause
  exit /b 1
)

echo.
echo [OK] Build selesai.
echo Hasil ada di: dist\jurusify\
echo Jalankan: dist\jurusify\jurusify.exe
echo.
echo [PENTING] Jangan jalankan file EXE dari folder build\
echo [PENTING] Jalankan EXE hanya dari folder dist\jurusify\
echo.
pause
