91 lines
1.8 KiB
Batchfile
91 lines
1.8 KiB
Batchfile
@echo off
|
|
REM Build PicoClaw core and web launcher without using make.
|
|
REM Usage: scripts\build-without-make.bat
|
|
|
|
SETLOCAL ENABLEEXTENSIONS
|
|
|
|
SET "REPO_ROOT=%~dp0.."
|
|
SET "REPO_ROOT=%REPO_ROOT:~0,-1%"
|
|
SET "GO_TAGS=goolm,stdjson"
|
|
|
|
REM Ensure Go is available
|
|
where go >nul 2>&1
|
|
IF ERRORLEVEL 1 (
|
|
echo ERROR: go is not installed or not on PATH.
|
|
EXIT /B 1
|
|
)
|
|
|
|
REM Ensure pnpm is available
|
|
where pnpm >nul 2>&1
|
|
IF ERRORLEVEL 1 (
|
|
echo ERROR: pnpm is not installed or not on PATH.
|
|
EXIT /B 1
|
|
)
|
|
|
|
PUSHD "%REPO_ROOT%"
|
|
IF ERRORLEVEL 1 (
|
|
echo ERROR: Failed to change directory to "%REPO_ROOT%".
|
|
EXIT /B 1
|
|
)
|
|
|
|
IF NOT EXIST build (
|
|
mkdir build
|
|
)
|
|
|
|
echo === Generating Go code ===
|
|
go generate ./...
|
|
IF ERRORLEVEL 1 (
|
|
echo ERROR: go generate failed.
|
|
POPD
|
|
EXIT /B 1
|
|
)
|
|
|
|
echo.
|
|
echo === Building PicoClaw core binary ===
|
|
go build -tags "%GO_TAGS%" -o build\picoclaw.exe .\cmd\picoclaw
|
|
IF ERRORLEVEL 1 (
|
|
echo ERROR: go build failed for core binary.
|
|
POPD
|
|
EXIT /B 1
|
|
)
|
|
|
|
echo.
|
|
echo === Building PicoClaw web frontend assets ===
|
|
PUSHD "%REPO_ROOT%\web\frontend"
|
|
IF ERRORLEVEL 1 (
|
|
echo ERROR: Failed to change directory to web\frontend.
|
|
POPD
|
|
EXIT /B 1
|
|
)
|
|
pnpm install --frozen-lockfile
|
|
IF ERRORLEVEL 1 (
|
|
echo ERROR: pnpm install failed.
|
|
POPD
|
|
POPD
|
|
EXIT /B 1
|
|
)
|
|
pnpm build:backend
|
|
IF ERRORLEVEL 1 (
|
|
echo ERROR: pnpm build:backend failed.
|
|
POPD
|
|
POPD
|
|
EXIT /B 1
|
|
)
|
|
POPd
|
|
|
|
echo.
|
|
echo === Building PicoClaw web launcher ===
|
|
go build -tags "%GO_TAGS%" -o build\picoclaw-launcher.exe .\web\backend
|
|
IF ERRORLEVEL 1 (
|
|
echo ERROR: go build failed for web launcher.
|
|
POPD
|
|
EXIT /B 1
|
|
)
|
|
|
|
echo.
|
|
echo === Build complete ===
|
|
echo Core binary: %REPO_ROOT%\build\picoclaw.exe
|
|
echo Web launcher: %REPO_ROOT%\build\picoclaw-launcher.exe
|
|
|
|
POPD
|
|
EXIT /B 0
|