@echo off
cd /D "%~dp0"
echo This script downloads the Beszel repository and builds the Beszel agent for Windows (64 Bit only).
echo If not yet installed, Git and Go will be installed via Winget.
echo.

call env.cmd

where winget.exe >nul 2>&1
if %errorlevel% NEQ 0 (
	echo Winget not found, install Winget or use a compatible OS: Win 10 Client OS or later
	goto end
) else (
	echo Winget executable found
)

where go.exe >nul 2>&1
if %errorlevel% NEQ 0 (
	echo Installing Go with Winget
	winget install GoLang.Go >nul 2>&1
) else (
	echo Go executable found
)

where git.exe >nul 2>&1
if %errorlevel% NEQ 0 (
	echo Installing Git with Winget
	winget install Git.Git >nul 2>&1
) else (
	echo Git executable found
)

echo Cloning Beszel repository
git clone https://github.com/henrygd/beszel.git >nul 2>&1
if %errorlevel% NEQ 0 (
	echo Cloning the Beszel repository failed.
	goto end
)

cd .\beszel\beszel\cmd\agent

echo Building agent
go build -ldflags "-w -s" . >nul 2>&1
if %errorlevel% NEQ 0 (
	echo Something went wrong
) else (
	echo Build successful:
	dir agent.exe
)

:end