Search/run.bat
partisan 8bb6fdc03d
Some checks failed
Run Integration Tests / test (push) Has been cancelled
Revert "updated 'run.sh' and 'run.bat' so the process name is 'qgato'"
This reverts commit 5b90a372a1.
2024-12-27 08:08:07 +01:00

76 lines
1.6 KiB
Batchfile
Executable file

@echo off
setlocal enabledelayedexpansion
rem Initialize variables
set SKIP_CONFIG=""
set PORT=""
set DOMAIN=""
set BUILD_MODE=false
set BUILD_OUTPUT=qgato.exe
rem Parse arguments
:parse_args
if "%~1"=="" goto end_parse
if "%~1"=="--port" (
set PORT=%~2
shift
shift
goto parse_args
)
if "%~1"=="--domain" (
set DOMAIN=%~2
shift
shift
goto parse_args
)
if "%~1"=="--skip-config-check" (
set SKIP_CONFIG=--skip-config-check
shift
goto parse_args
)
if "%~1"=="--build" (
set BUILD_MODE=true
shift
goto parse_args
)
echo Unknown argument: %~1
exit /b 1
:end_parse
rem Use the current directory where the script is executed
pushd %~dp0
rem Collect all .go files in the current directory excluding *_test.go
set GO_FILES=
for %%f in (*.go) do (
echo %%f | findstr "_test.go" >nul
if errorlevel 1 (
set GO_FILES=!GO_FILES! %%f
)
)
if "%BUILD_MODE%"=="true" (
rem Build mode
echo Building application...
go build -o "%BUILD_OUTPUT%" !GO_FILES!
if errorlevel 1 (
echo Build failed!
exit /b 1
)
echo Build successful! Output: %CD%\%BUILD_OUTPUT%
) else (
rem Construct the command
set CMD=go run !GO_FILES! !SKIP_CONFIG!
if not "%PORT%"=="" set CMD=!CMD! --port %PORT%
if not "%DOMAIN%"=="" set CMD=!CMD! --domain %DOMAIN%
rem Informative output
echo Starting application with command: !CMD!
rem Run the Go program with the constructed command
call !CMD!
)
rem Return to the original directory
popd