45 lines
1.6 KiB
PowerShell
45 lines
1.6 KiB
PowerShell
# Build Python backend as standalone binary using PyInstaller (Windows)
|
|
# Usage: .\scripts\build-backend.ps1 [target-triple]
|
|
|
|
param(
|
|
[string]$TargetTriple = "x86_64-pc-windows-msvc"
|
|
)
|
|
|
|
$ErrorActionPreference = "Stop"
|
|
$ProjectRoot = Resolve-Path (Join-Path $PSScriptRoot "..")
|
|
|
|
Write-Host "Building agentkit-server for $TargetTriple..."
|
|
|
|
Set-Location $ProjectRoot
|
|
|
|
# Install PyInstaller if not present
|
|
pip install pyinstaller 2>$null
|
|
|
|
# Build the binary
|
|
pyinstaller --onefile `
|
|
--name "agentkit-server.exe" `
|
|
--hidden-import agentkit.server `
|
|
--hidden-import agentkit.server.app `
|
|
--hidden-import agentkit.server.routes `
|
|
--hidden-import agentkit.server.config `
|
|
--hidden-import agentkit.cli.main `
|
|
--hidden-import uvicorn.logging `
|
|
--hidden-import uvicorn.lifespan.on `
|
|
--hidden-import uvicorn.lifespan.off `
|
|
--hidden-import uvicorn.protocols.websockets.auto `
|
|
--hidden-import uvicorn.protocols.http.auto `
|
|
--hidden-import uvicorn.protocols.websockets.wsproto_impl `
|
|
--hidden-import uvicorn.protocols.websockets.websockets_impl `
|
|
--hidden-import uvicorn.protocols.websockets.impl_11 `
|
|
--hidden-import uvicorn.lifespan `
|
|
--hidden-import sse_starlette `
|
|
--distpath "$ProjectRoot\src-tauri\binaries" `
|
|
--workpath "$ProjectRoot\build\pyinstaller-work" `
|
|
--specpath "$ProjectRoot\build" `
|
|
src\agentkit\__main__.py
|
|
|
|
# Rename with target triple suffix
|
|
Rename-Item "$ProjectRoot\src-tauri\binaries\agentkit-server.exe" "agentkit-server-$TargetTriple.exe"
|
|
|
|
Write-Host "Built: src-tauri\binaries\agentkit-server-$TargetTriple.exe"
|