|
| 1 | +@echo off |
| 2 | +REM ═══════════════════════════════════════════════════════════════════════════════ |
| 3 | +REM NitroWebExpress™ — Compile All Modules (Windows) |
| 4 | +REM Compiles .java → .class into out\. Safe to run after every git pull. |
| 5 | +REM Usage: scripts\compile-all-modules.bat |
| 6 | +REM ═══════════════════════════════════════════════════════════════════════════════ |
| 7 | +setlocal enabledelayedexpansion |
| 8 | + |
| 9 | +set "ROOT=%~dp0.." |
| 10 | +pushd "%ROOT%" |
| 11 | +set "ROOT=%CD%" |
| 12 | +popd |
| 13 | +set "OUT=%ROOT%\out" |
| 14 | +if not exist "%OUT%" mkdir "%OUT%" |
| 15 | + |
| 16 | +REM ── Build classpath ───────────────────────────────────────────────────────── |
| 17 | +set "MYSQL_JAR=%ROOT%\jars\mysql\mysql-connector-j-9.7.0.jar" |
| 18 | +set "LANTERNA_JAR=%ROOT%\jars\lanterna-3.1.5.jar" |
| 19 | +set "CP=%OUT%;%MYSQL_JAR%;%LANTERNA_JAR%" |
| 20 | + |
| 21 | +REM Add DJL JARs |
| 22 | +for /r "%ROOT%\jars\djl" %%J in (*.jar) do set "CP=!CP!;%%J" |
| 23 | + |
| 24 | +echo ═══════════════════════════════════════════════════════════════ |
| 25 | +echo NWE — Compile All Modules (Windows) |
| 26 | +echo ═══════════════════════════════════════════════════════════════ |
| 27 | +echo. |
| 28 | + |
| 29 | +REM ── Source paths ──────────────────────────────────────────────────────────── |
| 30 | +set "SP=%ROOT%\source;%ROOT%\modules\fbi\source;%ROOT%\modules\cia\source;%ROOT%\modules\nsa\source;%ROOT%\modules\duke\source;%ROOT%\modules\library\source;%ROOT%\modules\gray\source;%ROOT%\modules\gray.a85\source;%ROOT%\modules\red\Futures\source" |
| 31 | + |
| 32 | +REM ── 1. Core sources ───────────────────────────────────────────────────────── |
| 33 | +echo [1/8] Core sources (source\)... |
| 34 | +dir /s /b "%ROOT%\source\*.java" > "%TEMP%\nwe-core.txt" 2>nul |
| 35 | +javac -d "%OUT%" -cp "%CP%" -sourcepath "%SP%" @"%TEMP%\nwe-core.txt" 2>&1 | findstr /i "error" || echo OK |
| 36 | +del "%TEMP%\nwe-core.txt" 2>nul |
| 37 | + |
| 38 | +REM ── 2. FBI/CIA/NSA, Duke, Library ─────────────────────────────────────────── |
| 39 | +echo [2/8] FBI/CIA/NSA, Duke, Library... |
| 40 | +set "MOD_FILES=" |
| 41 | +if exist "%ROOT%\modules\fbi\source\CaliforniaFBIServer.java" set "MOD_FILES=!MOD_FILES! "%ROOT%\modules\fbi\source\CaliforniaFBIServer.java"" |
| 42 | +if exist "%ROOT%\modules\cia\source\CaliforniaCIAServer.java" set "MOD_FILES=!MOD_FILES! "%ROOT%\modules\cia\source\CaliforniaCIAServer.java"" |
| 43 | +if exist "%ROOT%\modules\nsa\source\CaliforniaNSAServer.java" set "MOD_FILES=!MOD_FILES! "%ROOT%\modules\nsa\source\CaliforniaNSAServer.java"" |
| 44 | +if exist "%ROOT%\modules\duke\source\DukeUniversityServer.java" set "MOD_FILES=!MOD_FILES! "%ROOT%\modules\duke\source\DukeUniversityServer.java"" |
| 45 | +if exist "%ROOT%\modules\library\source\StanfordLibraryServer.java" set "MOD_FILES=!MOD_FILES! "%ROOT%\modules\library\source\StanfordLibraryServer.java"" |
| 46 | +if defined MOD_FILES ( |
| 47 | + javac -d "%OUT%" -cp "%CP%" -sourcepath "%SP%" !MOD_FILES! 2>&1 | findstr /i "error" || echo OK |
| 48 | +) else echo SKIP |
| 49 | + |
| 50 | +REM ── 3. Gray registries ────────────────────────────────────────────────────── |
| 51 | +echo [3/8] Gray Port Registry + Gray85... |
| 52 | +set "GRAY_FILES=" |
| 53 | +if exist "%ROOT%\modules\gray\source\GrayPortRegistryServer.java" set "GRAY_FILES=!GRAY_FILES! "%ROOT%\modules\gray\source\GrayPortRegistryServer.java"" |
| 54 | +if exist "%ROOT%\modules\gray\source\PortBindingGate.java" set "GRAY_FILES=!GRAY_FILES! "%ROOT%\modules\gray\source\PortBindingGate.java"" |
| 55 | +if exist "%ROOT%\modules\gray.a85\source\Gray85PortRegistryServer.java" set "GRAY_FILES=!GRAY_FILES! "%ROOT%\modules\gray.a85\source\Gray85PortRegistryServer.java"" |
| 56 | +if exist "%ROOT%\modules\gray.a85\source\PortBindingGate85.java" set "GRAY_FILES=!GRAY_FILES! "%ROOT%\modules\gray.a85\source\PortBindingGate85.java"" |
| 57 | +if defined GRAY_FILES ( |
| 58 | + javac -d "%OUT%" -cp "%CP%" -sourcepath "%SP%;%ROOT%\modules\gray\source;%ROOT%\modules\gray.a85\source" !GRAY_FILES! 2>&1 | findstr /i "error" || echo OK |
| 59 | +) else echo SKIP |
| 60 | + |
| 61 | +REM ── 4. Futures ────────────────────────────────────────────────────────────── |
| 62 | +echo [4/8] Futures (DemocraticAIServer)... |
| 63 | +if exist "%ROOT%\modules\red\Futures\source" ( |
| 64 | + dir /s /b "%ROOT%\modules\red\Futures\source\*.java" > "%TEMP%\futures.txt" 2>nul |
| 65 | + for %%F in ("%TEMP%\futures.txt") do if %%~zF gtr 0 ( |
| 66 | + javac -d "%OUT%" -cp "%CP%" -sourcepath "%SP%" @"%TEMP%\futures.txt" 2>&1 | findstr /i "error" || echo OK |
| 67 | + ) else echo SKIP |
| 68 | + del "%TEMP%\futures.txt" 2>nul |
| 69 | +) else echo SKIP |
| 70 | + |
| 71 | +REM ── 5. StrernaryDirectory ─────────────────────────────────────────────────── |
| 72 | +echo [5/8] StrernaryDirectory (port 2000)... |
| 73 | +if exist "%ROOT%\source\strernary\StrernaryDirectoryServer.java" ( |
| 74 | + javac -d "%OUT%" -cp "%CP%" -sourcepath "%ROOT%\source" "%ROOT%\source\strernary\StrernaryDirectoryServer.java" 2>&1 | findstr /i "error" || echo OK |
| 75 | +) else echo SKIP |
| 76 | + |
| 77 | +REM ── 6. AE6E66 ────────────────────────────────────────────────────────────── |
| 78 | +echo [6/8] AE6E66 (UK Parliament)... |
| 79 | +if exist "%ROOT%\modules\AE6E66\source" ( |
| 80 | + dir /s /b "%ROOT%\modules\AE6E66\source\*.java" > "%TEMP%\ae6e66.txt" 2>nul |
| 81 | + for %%F in ("%TEMP%\ae6e66.txt") do if %%~zF gtr 0 ( |
| 82 | + javac -d "%OUT%" -cp "%CP%" -sourcepath "%SP%;%ROOT%\modules\AE6E66\source" @"%TEMP%\ae6e66.txt" 2>&1 | findstr /i "error" || echo OK |
| 83 | + ) else echo SKIP |
| 84 | + del "%TEMP%\ae6e66.txt" 2>nul |
| 85 | +) else echo SKIP |
| 86 | + |
| 87 | +REM ── 7. GDGH ───────────────────────────────────────────────────────────────── |
| 88 | +echo [7/8] Green.Durham.Grass.and.Herb... |
| 89 | +if exist "%ROOT%\modules\Green.Durham.Grass.and.Herb\source" ( |
| 90 | + dir /s /b "%ROOT%\modules\Green.Durham.Grass.and.Herb\source\*.java" > "%TEMP%\gdgh.txt" 2>nul |
| 91 | + for %%F in ("%TEMP%\gdgh.txt") do if %%~zF gtr 0 ( |
| 92 | + javac -d "%OUT%" -cp "%CP%" -sourcepath "%SP%;%ROOT%\modules\Green.Durham.Grass.and.Herb\source" @"%TEMP%\gdgh.txt" 2>&1 | findstr /i "error" || echo OK |
| 93 | + ) else echo SKIP |
| 94 | + del "%TEMP%\gdgh.txt" 2>nul |
| 95 | +) else echo SKIP |
| 96 | + |
| 97 | +REM ── 8. Verify ─────────────────────────────────────────────────────────────── |
| 98 | +echo [8/8] Verifying key classes... |
| 99 | +set MISSING=0 |
| 100 | +if not exist "%OUT%\Main.class" (echo [MISSING] Main.class & set /a MISSING+=1) |
| 101 | +if not exist "%OUT%\source\CaliforniaFBIServer.class" (echo [MISSING] CaliforniaFBIServer.class & set /a MISSING+=1) |
| 102 | +if not exist "%OUT%\source\CaliforniaCIAServer.class" (echo [MISSING] CaliforniaCIAServer.class & set /a MISSING+=1) |
| 103 | +if not exist "%OUT%\source\CaliforniaNSAServer.class" (echo [MISSING] CaliforniaNSAServer.class & set /a MISSING+=1) |
| 104 | +if not exist "%OUT%\strernary\StrernaryDirectoryServer.class" (echo [MISSING] StrernaryDirectoryServer.class & set /a MISSING+=1) |
| 105 | +if %MISSING%==0 echo All key classes present. |
| 106 | + |
| 107 | +echo. |
| 108 | +echo ═══════════════════════════════════════════════════════════════ |
| 109 | +echo Compilation complete. |
| 110 | +echo Restart: scripts\start-backends.bat |
| 111 | +echo ═══════════════════════════════════════════════════════════════ |
| 112 | +endlocal |
0 commit comments