重新整理物联网服务,分离业务逻辑。
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
# build_all.ps1
|
||||
# 一键打包 main 和 updater,三平台: Windows 64, Linux amd64, Linux arm64
|
||||
|
||||
# -------------------------
|
||||
# 项目根目录
|
||||
$RootDir = Split-Path -Parent $MyInvocation.MyCommand.Definition
|
||||
Set-Location $RootDir
|
||||
|
||||
# -------------------------
|
||||
# 定义要打包的平台
|
||||
$targets = @(
|
||||
@{ OS="windows"; ARCH="amd64"; Dir="build/win"; MainOut="main.exe"; UpdaterOut="updater.exe" },
|
||||
@{ OS="linux"; ARCH="amd64"; Dir="build/linux_amd64"; MainOut="main"; UpdaterOut="updater" },
|
||||
@{ OS="linux"; ARCH="arm64"; Dir="build/linux_arm64"; MainOut="main"; UpdaterOut="updater" }
|
||||
)
|
||||
|
||||
# -------------------------
|
||||
# 循环打包
|
||||
foreach ($t in $targets) {
|
||||
Write-Host "=== Build $($t.OS)-$($t.ARCH) Version ==="
|
||||
|
||||
# 设置环境变量
|
||||
$env:GOOS = $t.OS
|
||||
$env:GOARCH = $t.ARCH
|
||||
$env:CGO_ENABLED = "0"
|
||||
|
||||
# 创建输出目录
|
||||
if (!(Test-Path $t.Dir)) {
|
||||
New-Item -ItemType Directory -Path $t.Dir | Out-Null
|
||||
}
|
||||
|
||||
# 编译 main
|
||||
Write-Host "Building main..."
|
||||
go build -ldflags="-s -w" -o "$($t.Dir)/$($t.MainOut)" ./main
|
||||
|
||||
# 编译 updater
|
||||
Write-Host "Building updater..."
|
||||
go build -ldflags="-s -w" -o "$($t.Dir)/$($t.UpdaterOut)" ./updater
|
||||
|
||||
Write-Host "$($t.OS)-$($t.ARCH) Build complete, Output dir: $($t.Dir)"
|
||||
Write-Host ""
|
||||
}
|
||||
|
||||
Write-Host "All builds finished."
|
||||
Reference in New Issue
Block a user