chore: initialize project with Go module and tooling

This commit is contained in:
2026-03-01 03:02:46 +08:00
commit 97ecd175a7
6 changed files with 320 additions and 0 deletions

75
Taskfile.yml Normal file
View File

@@ -0,0 +1,75 @@
version: "3"
vars:
APP_NAME: voicepaste
VERSION:
sh: git describe --tags --always --dirty 2>/dev/null || echo "dev"
tasks:
default:
desc: Build for current platform
cmds:
- go build -ldflags "-s -w -X main.version={{.VERSION}}" -o {{.APP_NAME}} .
run:
desc: Build and run
cmds:
- go build -ldflags "-s -w" -o {{.APP_NAME}} .
- ./{{.APP_NAME}}
dev:
desc: Run with go run
cmds:
- go run .
build:darwin-arm64:
desc: Build for macOS ARM64
env:
GOOS: darwin
GOARCH: arm64
CGO_ENABLED: "1"
cmds:
- go build -ldflags "-s -w -X main.version={{.VERSION}}" -o dist/{{.APP_NAME}}-darwin-arm64 .
build:darwin-amd64:
desc: Build for macOS AMD64
env:
GOOS: darwin
GOARCH: amd64
CGO_ENABLED: "1"
cmds:
- go build -ldflags "-s -w -X main.version={{.VERSION}}" -o dist/{{.APP_NAME}}-darwin-amd64 .
build:linux-amd64:
desc: Build for Linux AMD64
env:
GOOS: linux
GOARCH: amd64
CGO_ENABLED: "1"
cmds:
- go build -ldflags "-s -w -X main.version={{.VERSION}}" -o dist/{{.APP_NAME}}-linux-amd64 .
build:windows-amd64:
desc: Build for Windows AMD64
env:
GOOS: windows
GOARCH: amd64
CGO_ENABLED: "1"
cmds:
- go build -ldflags "-s -w -X main.version={{.VERSION}}" -o dist/{{.APP_NAME}}-windows-amd64.exe .
build:all:
desc: Build for all platforms
cmds:
- mkdir -p dist
- task: build:linux-amd64
clean:
desc: Clean build artifacts
cmds:
- rm -rf dist/ {{.APP_NAME}}
tidy:
desc: Tidy Go modules
cmds:
- go mod tidy