# Taskfile.yaml version: '3' vars: APP_NAME: quincy-admin VERSION: sh: git describe --tags --always --dirty BUILD_TIME: sh: date +%FT%T%z LDFLAGS: sh: echo "-ldflags \"-X main.Version={{.VERSION}} -X main.BuildTime={{.BUILD_TIME}}\"" tasks: # 构建 Windows 版本 windows: cmds: - GOOS=windows GOARCH=amd64 go build {{.LDFLAGS}} -o {{.APP_NAME}}.exe # 构建 Linux 版本 linux: cmds: - GOOS=linux GOARCH=amd64 go build {{.LDFLAGS}} -o {{.APP_NAME}}-linux # 为所有平台构建 release: deps: - linux-amd64 - linux-arm64 - darwin-amd64 - darwin-arm64 - windows-amd64 # 多平台构建模板 linux-amd64: cmds: - GOOS=linux GOARCH=amd64 go build {{.LDFLAGS}} -o {{.APP_NAME}}-linux-amd64 linux-arm64: cmds: - GOOS=linux GOARCH=arm64 go build {{.LDFLAGS}} -o {{.APP_NAME}}-linux-arm64 darwin-amd64: cmds: - GOOS=darwin GOARCH=amd64 go build {{.LDFLAGS}} -o {{.APP_NAME}}-darwin-amd64 darwin-arm64: cmds: - GOOS=darwin GOARCH=arm64 go build {{.LDFLAGS}} -o {{.APP_NAME}}-darwin-arm64 windows-amd64: cmds: - GOOS=windows GOARCH=amd64 go build {{.LDFLAGS}} -o {{.APP_NAME}}-windows-amd64.exe # 清理构建产物 clean: cmds: - rm -f {{.APP_NAME}} {{.APP_NAME}}-* {{.APP_NAME}}.exe # 运行程序 run: cmds: - go run . # 安装依赖 deps: cmds: - go mod download