#!/bin/bash # Скрипт сборки GUI приложения и установщика set -e echo "🔨 Сборка GUI приложения для Windows" echo "======================================" echo "" # Проверка Python if ! command -v python &> /dev/null; then echo "❌ Python не найден!" exit 1 fi echo "✓ Python найден: $(python --version)" echo "" # Создание виртуального окружения если нет if [ ! -d ".venv" ]; then echo "📦 Создание виртуального окружения..." python -m venv .venv fi # Активация окружения echo "🔧 Активация окружения..." source .venv/Scripts/activate # Установка зависимостей echo "📥 Установка зависимостей..." pip install --upgrade pip pip install -r requirements_gui.txt # Очистка предыдущей сборки echo "🧹 Очистка предыдущей сборки..." rm -rf build dist # Сборка с PyInstaller echo "⚙️ Сборка исполняемого файла..." pyinstaller gui_app.spec --clean if [ ! -f "dist/MoySkladGenerator.exe" ]; then echo "❌ Ошибка сборки!" exit 1 fi echo "✅ Исполняемый файл создан: dist/MoySkladGenerator.exe" echo " Размер: $(du -h dist/MoySkladGenerator.exe | cut -f1)" echo "" # Проверка Inno Setup if command -v iscc &> /dev/null; then echo "📦 Создание установщика..." iscc installer.iss if [ -f "installer_output/MoySklad_Generator_Setup.exe" ]; then echo "✅ Установщик создан: installer_output/MoySklad_Generator_Setup.exe" echo " Размер: $(du -h installer_output/MoySklad_Generator_Setup.exe | cut -f1)" else echo "⚠️ Установщик не создан" fi else echo "⚠️ Inno Setup не найден, установщик не создан" echo " Скачайте с https://jrsoftware.org/isdl.php" fi echo "" echo "🎉 Сборка завершена!" echo "" echo "Файлы:" echo " • Исполняемый файл: dist/MoySkladGenerator.exe" echo " • Установщик: installer_output/MoySklad_Generator_Setup.exe" echo "" echo "Для тестирования запустите:" echo " ./dist/MoySkladGenerator.exe"