Files
proxy/build.ps1

60 lines
1.8 KiB
PowerShell
Raw Normal View History

Remove-Job *
$tasks = 0
$start = Get-Date
$tasks++
Write-Output "building proxy server for windows amd64..."
Start-Job -ScriptBlock {
$env:GOOS = "windows"; $env:GOARCH = "amd64"; go build -ldflags '-w -s' -o bin/proxy_server_win_amd64.exe cmd/server/main.go
} | Out-Null
$tasks++
Write-Output "building proxy server for linux amd64..."
Start-Job -ScriptBlock {
$env:GOOS = "linux"; $env:GOARCH = "amd64"; go build -ldflags '-w -s' -o bin/proxy_server_linux_amd64 cmd/server/main.go
} | Out-Null
$tasks++
Write-Output "building proxy server for linux arm64..."
Start-Job -ScriptBlock {
$env:GOOS = "linux"; $env:GOARCH = "arm64"; go build -ldflags '-w -s' -o bin/proxy_server_linux_arm64 cmd/server/main.go
} | Out-Null
$tasks++
Write-Output "building proxy client for windows amd64..."
Start-Job -ScriptBlock {
$env:GOOS = "windows"; $env:GOARCH = "amd64"; go build -ldflags '-w -s' -o bin/proxy_client_win_amd64.exe cmd/client/main.go
} | Out-Null
$tasks++
Write-Output "building proxy client for linux amd64..."
Start-Job -ScriptBlock {
$env:GOOS = "linux"; $env:GOARCH = "amd64"; go build -ldflags '-w -s' -o bin/proxy_client_linux_amd64 cmd/client/main.go
} | Out-Null
$tasks++
Write-Output "building proxy client for linux arm64..."
Start-Job -ScriptBlock {
$env:GOOS = "linux"; $env:GOARCH = "arm64"; go build -ldflags '-w -s' -o bin/proxy_client_linux_arm64 cmd/client/main.go
} | Out-Null
# Wait for all jobs to complete
while ($tasks -gt 0)
{
foreach ($job in Get-Job)
{
if ($job.State -eq "Completed")
{
$tasks--
$job | Receive-Job
$job | Remove-Job
}
}
}
$end = Get-Date
Write-Output "build completed"
Write-Output "time taken: $( ($end - $start).TotalSeconds ) seconds"
Write-Output "output files are in ./bin/"