@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