56 lines
1.2 KiB
Batchfile
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%
|