version: '3' vars: APP_NAME: linkstar BIN_DIR: bin GOOS: '{{.GOOS | default OS}}' includes: windows: ./build/windows/Taskfile.yml tasks: # 一键编译三个版本:Windows 桌面版 + Windows CLI + Linux CLI build: summary: Builds desktop, Windows CLI and Linux CLI in one shot cmds: - task: build:desktop - task: build:cli - task: build:linux # Windows 桌面版:带图标资源,双击无黑框(bin/linkstar-desktop.exe) build:desktop: summary: Builds the Windows desktop application (bin/linkstar-desktop.exe) cmds: - task: windows:build vars: APP_NAME: linkstar-desktop # Windows CLI 版:前台运行看日志(bin/linkstar-cli.exe) build:cli: summary: Builds the Windows CLI application (bin/linkstar-cli.exe) env: CGO_ENABLED: 0 cmds: - powershell -NoProfile -Command "New-Item -ItemType Directory -Force -Path '{{.BIN_DIR}}' | Out-Null" - go build -trimpath -ldflags="-s -w" -o "{{.BIN_DIR}}/linkstar-cli.exe" . # Linux CLI 版:交叉编译(bin/linkstar-linux) build:linux: summary: Builds the Linux CLI application (bin/linkstar-linux) env: GOOS: linux GOARCH: amd64 CGO_ENABLED: 0 cmds: - go build -trimpath -ldflags="-s -w" -o "{{.BIN_DIR}}/linkstar" . # 前端构建:改过前端后先跑这个再 build build:frontend: summary: Builds the admin and home web frontends cmds: - task: build:admin - task: build:home build:admin: summary: Builds the admin frontend dir: web/admin cmds: - npm run build build:home: summary: Builds the home frontend dir: web/home cmds: - npm run build # 运行桌面版 run: summary: Runs the built desktop application cmds: - task: windows:run vars: APP_NAME: linkstar-desktop