Files

56 lines
1.2 KiB
Batchfile

@echo off
setlocal
set "AIR_VERSION=v1.61.7"
cd /d "%~dp0admin"
if errorlevel 1 (
echo [ERROR] Cannot enter the admin directory.
pause
exit /b 1
)
where go >nul 2>&1
if errorlevel 1 (
echo [ERROR] Go was not found. Install Go 1.23.0 and reopen the terminal.
pause
exit /b 1
)
for /f "usebackq delims=" %%G in (`go env GOPATH`) do set "ADMIN_GOPATH=%%G"
if not defined ADMIN_GOPATH (
echo [ERROR] Cannot read GOPATH.
pause
exit /b 1
)
set "AIR_EXE=%ADMIN_GOPATH%\bin\air.exe"
set "NEED_INSTALL=0"
if not exist "%AIR_EXE%" set "NEED_INSTALL=1"
if exist "%AIR_EXE%" (
"%AIR_EXE%" -v 2>nul | findstr /c:"%AIR_VERSION%" >nul
if errorlevel 1 set "NEED_INSTALL=1"
)
if "%NEED_INSTALL%"=="1" (
echo [INFO] Installing Air %AIR_VERSION% for Go 1.23...
go install github.com/air-verse/air@%AIR_VERSION%
if errorlevel 1 (
echo [ERROR] Air installation failed. Check the network and GOPROXY.
pause
exit /b 1
)
)
echo [INFO] Starting Admin with hot reload. Press Ctrl+C to stop.
"%AIR_EXE%" -c .air.toml
set "ADMIN_EXIT_CODE=%ERRORLEVEL%"
if not "%ADMIN_EXIT_CODE%"=="0" (
echo [ERROR] Admin stopped with exit code %ADMIN_EXIT_CODE%.
pause
)
endlocal & exit /b %ADMIN_EXIT_CODE%