Compare commits

...

2 Commits

Author SHA1 Message Date
0bbb5e8dbf Replace all emojis with ASCII status indicators
Replaced all emoji characters with standard ASCII status prefixes
to prevent encoding issues on Windows systems:
- ✓/ → [OK]/[ERROR]
- ⚠️ → [WARN]
- 📦/🔨/🧹/⬇️/📥 → [INFO]

This ensures the script works correctly on all Windows configurations
regardless of console encoding settings.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 17:29:33 -05:00
15fc89fa1b Escape parentheses in echo statements within if blocks
Batch files interpret unescaped parentheses as block delimiters,
causing "was unexpected at this time" errors and improper branch
execution. All parentheses in echo statements are now escaped with ^.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 17:28:26 -05:00

View File

@ -11,12 +11,12 @@ REM Detect Go
REM ----------------------------
where go >nul 2>&1
if %ERRORLEVEL% neq 0 (
echo ❌ ERROR: Go is not installed or not in PATH.
echo [ERROR] Go is not installed or not in PATH.
echo Download Go from: https://go.dev/dl/
exit /b 1
)
echo 📦 Go version:
echo [INFO] Go version:
go version
echo.
@ -28,10 +28,10 @@ where winget >nul 2>&1
set WINGET_CHECK=!ERRORLEVEL!
if !WINGET_CHECK! equ 0 (
set WINGET_AVAILABLE=1
echo ✓ winget found (automatic installation available)
echo [OK] winget found ^(automatic installation available^)
) else (
echo ⚠️ winget not found (manual installation will be required)
echo To enable automatic installation, update to Windows 10 1809+ or Windows 11
echo [WARN] winget not found ^(manual installation will be required^)
echo To enable automatic installation, update to Windows 10 1809+ or Windows 11
)
echo.
@ -41,28 +41,28 @@ REM ----------------------------
where git >nul 2>&1
set GIT_CHECK=!ERRORLEVEL!
if !GIT_CHECK! equ 0 (
echo Git found
echo [OK] Git found
git --version
) else (
echo ⚠️ Git not found (recommended for development)
echo [WARN] Git not found ^(recommended for development^)
if !WINGET_AVAILABLE! equ 1 (
echo.
echo Would you like to install Git automatically? (Y/N):
echo Would you like to install Git automatically? ^(Y/N^):
set /p install_git=
if /I "!install_git!"=="Y" (
echo.
echo 📥 Installing Git via winget...
echo [INFO] Installing Git via winget...
winget install -e --id=Git.Git
set GIT_INSTALL_RESULT=!ERRORLEVEL!
if !GIT_INSTALL_RESULT! equ 0 (
echo Git installed successfully!
echo [OK] Git installed successfully!
echo Please restart your terminal and run this script again.
exit /b 0
) else (
echo Failed to install Git automatically.
echo [ERROR] Failed to install Git automatically.
echo Please install manually from: https://git-scm.com/
)
)
@ -78,44 +78,44 @@ REM ----------------------------
where gcc >nul 2>&1
set GCC_CHECK=!ERRORLEVEL!
if !GCC_CHECK! neq 0 (
echo ⚠️ WARNING: GCC not found. CGO requires a C compiler.
echo [WARN] GCC not found. CGO requires a C compiler.
echo.
echo VideoTools requires MinGW-w64 to build on Windows.
echo.
if !WINGET_AVAILABLE! equ 1 (
echo Would you like to install MinGW-w64 automatically? (Y/N):
echo Would you like to install MinGW-w64 automatically? ^(Y/N^):
set /p install_gcc=
if /I "!install_gcc!"=="Y" (
echo.
echo 📥 Installing MinGW-w64 via winget...
echo [INFO] Installing MinGW-w64 via winget...
echo This may take a few minutes...
winget install -e --id=MSYS2.MSYS2
set MSYS2_INSTALL_RESULT=!ERRORLEVEL!
if !MSYS2_INSTALL_RESULT! equ 0 (
echo MSYS2 installed successfully!
echo [OK] MSYS2 installed successfully!
echo.
echo 📦 Installing GCC toolchain...
echo [INFO] Installing GCC toolchain...
C:\msys64\usr\bin\bash.exe -lc "pacman -S --noconfirm mingw-w64-x86_64-gcc"
set GCC_INSTALL_RESULT=!ERRORLEVEL!
if !GCC_INSTALL_RESULT! equ 0 (
echo GCC installed successfully!
echo [OK] GCC installed successfully!
echo.
echo 🔧 Adding MinGW to PATH for this session...
echo [INFO] Adding MinGW to PATH for this session...
set "PATH=C:\msys64\mingw64\bin;!PATH!"
echo Setup complete! Continuing with build...
echo [OK] Setup complete! Continuing with build...
echo.
) else (
echo Failed to install GCC. Please install manually.
echo [ERROR] Failed to install GCC. Please install manually.
echo Visit: https://www.msys2.org/
exit /b 1
)
) else (
echo Failed to install MSYS2. Please install manually.
echo [ERROR] Failed to install MSYS2. Please install manually.
echo Visit: https://www.msys2.org/
exit /b 1
)
@ -128,7 +128,7 @@ if !GCC_CHECK! neq 0 (
REM Show manual installation instructions if we get here
echo.
echo GCC is required to build VideoTools on Windows.
echo [ERROR] GCC is required to build VideoTools on Windows.
echo.
echo Please install MinGW-w64 manually:
echo 1. Install MSYS2 from https://www.msys2.org/
@ -139,7 +139,7 @@ if !GCC_CHECK! neq 0 (
exit /b 1
)
) else (
echo GCC found:
echo [OK] GCC found:
gcc --version | findstr /C:"gcc"
echo.
)
@ -152,28 +152,28 @@ pushd "%~dp0\.."
REM ----------------------------
REM Clean previous build
REM ----------------------------
echo 🧹 Cleaning previous Windows build...
echo [INFO] Cleaning previous Windows build...
if exist VideoTools.exe del /f VideoTools.exe
echo Cache cleaned
echo [OK] Cache cleaned
echo.
REM ----------------------------
REM Download go dependencies
REM ----------------------------
echo ⬇️ Downloading dependencies...
echo [INFO] Downloading dependencies...
go mod download
if %ERRORLEVEL% neq 0 (
echo Failed to download dependencies.
echo [ERROR] Failed to download dependencies.
exit /b 1
)
echo Dependencies downloaded
echo [OK] Dependencies downloaded
echo.
REM ----------------------------
REM Build VideoTools (Windows GUI mode)
REM Note: CGO is required for Fyne/OpenGL on Windows
REM ----------------------------
echo 🔨 Building VideoTools.exe...
echo [INFO] Building VideoTools.exe...
REM Enable CGO for Windows build (required for Fyne)
set CGO_ENABLED=1
@ -184,26 +184,26 @@ go build ^
.
if %ERRORLEVEL% neq 0 (
echo Build failed!
echo [ERROR] Build failed!
popd
exit /b 1
)
echo Build successful!
echo [OK] Build successful!
echo.
REM ----------------------------
REM Show file size
REM ----------------------------
for %%A in (VideoTools.exe) do set FILESIZE=%%~zA
echo Output: VideoTools.exe (Size: !FILESIZE! bytes)
echo Output: VideoTools.exe ^(Size: !FILESIZE! bytes^)
echo.
REM ----------------------------
REM Offer to run FFmpeg setup
REM ----------------------------
if exist "%~dp0setup-windows.ps1" (
echo Would you like to download FFmpeg now? (Y/N):
echo Would you like to download FFmpeg now? ^(Y/N^):
set /p choice=
if /I "!choice!"=="Y" (