170 lines
6.6 KiB
Batchfile
170 lines
6.6 KiB
Batchfile
@echo off
|
|
echo.
|
|
echo 📦 Gooner Training Academy - Distribution Packager
|
|
echo =================================================
|
|
echo.
|
|
|
|
:: Set distribution info
|
|
set DIST_NAME=Gooner-Training-Academy-v4.1-Beta
|
|
set BUILD_DATE=%DATE:~-4,4%-%DATE:~-10,2%-%DATE:~-7,2%
|
|
set OUTPUT_DIR=..\%DIST_NAME%
|
|
|
|
echo 🎯 Creating distribution package: %DIST_NAME%
|
|
echo 📅 Build Date: %BUILD_DATE%
|
|
echo 📁 Output Directory: %OUTPUT_DIR%
|
|
echo.
|
|
|
|
:: Clean previous build
|
|
if exist "%OUTPUT_DIR%" (
|
|
echo 🧹 Cleaning previous build...
|
|
rmdir /s /q "%OUTPUT_DIR%"
|
|
)
|
|
|
|
:: Create distribution directory
|
|
echo 📂 Creating distribution directory...
|
|
mkdir "%OUTPUT_DIR%"
|
|
|
|
:: Copy core files
|
|
echo 📄 Copying core application files...
|
|
copy index.html "%OUTPUT_DIR%\"
|
|
copy quick-play.html "%OUTPUT_DIR%\"
|
|
copy training-academy.html "%OUTPUT_DIR%\"
|
|
copy porn-cinema.html "%OUTPUT_DIR%\"
|
|
copy player-stats.html "%OUTPUT_DIR%\"
|
|
copy user-profile.html "%OUTPUT_DIR%\"
|
|
copy hypno-gallery.html "%OUTPUT_DIR%\"
|
|
copy package.json "%OUTPUT_DIR%\"
|
|
|
|
:: Copy documentation
|
|
echo 📚 Copying documentation...
|
|
copy README.md "%OUTPUT_DIR%\"
|
|
copy TESTER_GUIDE.md "%OUTPUT_DIR%\"
|
|
copy INSTALLATION_GUIDE.md "%OUTPUT_DIR%\"
|
|
copy README-DESKTOP.md "%OUTPUT_DIR%\"
|
|
|
|
:: Copy setup scripts
|
|
echo 🔧 Copying setup scripts...
|
|
copy scripts\setup.bat "%OUTPUT_DIR%\"
|
|
copy scripts\setup.sh "%OUTPUT_DIR%\"
|
|
copy scripts\Start-webgame.bat "%OUTPUT_DIR%\"
|
|
|
|
:: Copy source code (excluding user data)
|
|
echo 💻 Copying source code...
|
|
xcopy src "%OUTPUT_DIR%\src\" /e /i /q
|
|
|
|
:: Copy assets (clean)
|
|
echo 🎨 Copying clean assets...
|
|
xcopy assets "%OUTPUT_DIR%\assets\" /e /i /q
|
|
|
|
:: Copy empty directories for user content
|
|
echo 📁 Creating user content directories...
|
|
mkdir "%OUTPUT_DIR%\images"
|
|
mkdir "%OUTPUT_DIR%\images\tasks"
|
|
mkdir "%OUTPUT_DIR%\images\consequences"
|
|
mkdir "%OUTPUT_DIR%\audio"
|
|
mkdir "%OUTPUT_DIR%\videos"
|
|
mkdir "%OUTPUT_DIR%\backups"
|
|
|
|
:: Copy sample audio (if exists)
|
|
if exist audio\*.mp3 (
|
|
echo 🎵 Copying sample audio files...
|
|
xcopy audio "%OUTPUT_DIR%\audio\" /e /i /q /y
|
|
)
|
|
|
|
:: Create placeholder files
|
|
echo 📝 Creating placeholder files...
|
|
echo # User Task Images > "%OUTPUT_DIR%\images\tasks\README.md"
|
|
echo Upload your custom task images here. Supported formats: JPG, PNG, WebP >> "%OUTPUT_DIR%\images\tasks\README.md"
|
|
echo Maximum 50 images, recommended resolution: 1600x1200 >> "%OUTPUT_DIR%\images\tasks\README.md"
|
|
|
|
echo # User Consequence Images > "%OUTPUT_DIR%\images\consequences\README.md"
|
|
echo Upload your custom consequence images here. Supported formats: JPG, PNG, WebP >> "%OUTPUT_DIR%\images\consequences\README.md"
|
|
echo These images are used for punishment scenarios. >> "%OUTPUT_DIR%\images\consequences\README.md"
|
|
|
|
echo # Background Music > "%OUTPUT_DIR%\audio\README.md"
|
|
echo Place your background music files here. Supported formats: MP3, WAV, OGG >> "%OUTPUT_DIR%\audio\README.md"
|
|
echo Files will be automatically detected and added to the playlist. >> "%OUTPUT_DIR%\audio\README.md"
|
|
|
|
echo # Video Directory > "%OUTPUT_DIR%\videos\README.md"
|
|
echo Link external video directories here or place video files directly. >> "%OUTPUT_DIR%\videos\README.md"
|
|
echo Supported formats: MP4, WebM, AVI, MOV >> "%OUTPUT_DIR%\videos\README.md"
|
|
echo For best performance, use MP4 format with H.264 codec. >> "%OUTPUT_DIR%\videos\README.md"
|
|
|
|
:: Create distribution info file
|
|
echo 📋 Creating distribution info...
|
|
echo # Gooner Training Academy - Distribution Info > "%OUTPUT_DIR%\DISTRIBUTION_INFO.txt"
|
|
echo Version: 4.0 Beta >> "%OUTPUT_DIR%\DISTRIBUTION_INFO.txt"
|
|
echo Build Date: %BUILD_DATE% >> "%OUTPUT_DIR%\DISTRIBUTION_INFO.txt"
|
|
echo Package Type: Beta Testing Build >> "%OUTPUT_DIR%\DISTRIBUTION_INFO.txt"
|
|
echo. >> "%OUTPUT_DIR%\DISTRIBUTION_INFO.txt"
|
|
echo INSTALLATION: >> "%OUTPUT_DIR%\DISTRIBUTION_INFO.txt"
|
|
echo 1. Run setup.bat (Windows) or setup.sh (Mac/Linux) >> "%OUTPUT_DIR%\DISTRIBUTION_INFO.txt"
|
|
echo 2. Follow setup prompts >> "%OUTPUT_DIR%\DISTRIBUTION_INFO.txt"
|
|
echo 3. Launch with Start-webgame.bat or npm start >> "%OUTPUT_DIR%\DISTRIBUTION_INFO.txt"
|
|
echo. >> "%OUTPUT_DIR%\DISTRIBUTION_INFO.txt"
|
|
echo DOCUMENTATION: >> "%OUTPUT_DIR%\DISTRIBUTION_INFO.txt"
|
|
echo - TESTER_GUIDE.md: Testing instructions >> "%OUTPUT_DIR%\DISTRIBUTION_INFO.txt"
|
|
echo - INSTALLATION_GUIDE.md: Detailed setup help >> "%OUTPUT_DIR%\DISTRIBUTION_INFO.txt"
|
|
echo - README.md: Complete documentation >> "%OUTPUT_DIR%\DISTRIBUTION_INFO.txt"
|
|
echo. >> "%OUTPUT_DIR%\DISTRIBUTION_INFO.txt"
|
|
echo REQUIREMENTS: >> "%OUTPUT_DIR%\DISTRIBUTION_INFO.txt"
|
|
echo - Node.js 16+ >> "%OUTPUT_DIR%\DISTRIBUTION_INFO.txt"
|
|
echo - Modern browser (Chrome 90+, Firefox 88+) >> "%OUTPUT_DIR%\DISTRIBUTION_INFO.txt"
|
|
echo - Webcam for full functionality >> "%OUTPUT_DIR%\DISTRIBUTION_INFO.txt"
|
|
echo - 100MB+ free storage >> "%OUTPUT_DIR%\DISTRIBUTION_INFO.txt"
|
|
|
|
:: Set executable permissions for shell scripts
|
|
echo 🔐 Setting permissions...
|
|
if exist "%OUTPUT_DIR%\setup.sh" (
|
|
icacls "%OUTPUT_DIR%\setup.sh" /grant Everyone:F >nul 2>&1
|
|
)
|
|
|
|
:: Clean up any development files that may have been copied
|
|
echo 🧹 Final cleanup...
|
|
if exist "%OUTPUT_DIR%\.git" rmdir /s /q "%OUTPUT_DIR%\.git"
|
|
if exist "%OUTPUT_DIR%\node_modules" rmdir /s /q "%OUTPUT_DIR%\node_modules"
|
|
if exist "%OUTPUT_DIR%\.DS_Store" del /q "%OUTPUT_DIR%\.DS_Store"
|
|
if exist "%OUTPUT_DIR%\package-lock.json" del /q "%OUTPUT_DIR%\package-lock.json"
|
|
|
|
:: File count summary
|
|
echo.
|
|
echo 📊 Distribution Summary:
|
|
echo =====================
|
|
for /f %%i in ('dir "%OUTPUT_DIR%" /s /b /a-d ^| find /c /v ""') do set FILE_COUNT=%%i
|
|
echo Total Files: %FILE_COUNT%
|
|
|
|
:: Calculate directory size (approximate)
|
|
for /f "tokens=3" %%a in ('dir "%OUTPUT_DIR%" /s /-c ^| find "bytes"') do set DIR_SIZE=%%a
|
|
echo Directory Size: %DIR_SIZE% bytes
|
|
|
|
echo.
|
|
echo ✅ Distribution package created successfully!
|
|
echo 📍 Location: %OUTPUT_DIR%
|
|
echo.
|
|
echo 🎯 Next Steps:
|
|
echo 1. Test the distribution package on a clean system
|
|
echo 2. Verify all features work correctly
|
|
echo 3. Create archive for distribution (ZIP/7z)
|
|
echo 4. Share with testers
|
|
echo.
|
|
|
|
set /p CREATE_ZIP="📦 Create ZIP archive for distribution? (y/n): "
|
|
if /i "%CREATE_ZIP%"=="y" (
|
|
echo.
|
|
echo 🗜️ Creating ZIP archive...
|
|
|
|
:: Use PowerShell to create ZIP (Windows 8+)
|
|
powershell -command "Compress-Archive -Path '%OUTPUT_DIR%\*' -DestinationPath '%DIST_NAME%.zip' -Force"
|
|
|
|
if exist "%DIST_NAME%.zip" (
|
|
echo ✅ ZIP archive created: %DIST_NAME%.zip
|
|
for %%i in ("%DIST_NAME%.zip") do echo 📏 Archive Size: %%~zi bytes
|
|
) else (
|
|
echo ❌ Failed to create ZIP archive
|
|
echo Try creating manually or use 7-Zip/WinRAR
|
|
)
|
|
)
|
|
|
|
echo.
|
|
echo 🎉 Distribution packaging complete!
|
|
pause |