🚧 Scaffold basic functionality
This commit is contained in:
parent
f511b9f240
commit
aa7dfb532f
7 changed files with 192 additions and 0 deletions
83
Taskfile.yml
Normal file
83
Taskfile.yml
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
# https://taskfile.dev
|
||||
|
||||
version: '3'
|
||||
|
||||
vars:
|
||||
GOBIN_ENV:
|
||||
sh: go env GOBIN
|
||||
GOPATH_ENV:
|
||||
sh: go env GOPATH
|
||||
BIN: '{{if .GOBIN_ENV}}{{.GOBIN_ENV}}{{else}}{{.GOPATH_ENV}}/bin{{end}}'
|
||||
|
||||
tasks:
|
||||
default:
|
||||
desc: fmt, vet, and build
|
||||
deps:
|
||||
- fmt
|
||||
- lint
|
||||
- build-all
|
||||
|
||||
fmt:
|
||||
desc: Format go files
|
||||
sources:
|
||||
- "**/*.go"
|
||||
cmds:
|
||||
- go fmt ./...
|
||||
|
||||
lint:
|
||||
desc: Statically analyze code
|
||||
sources:
|
||||
- '**/*.go'
|
||||
cmds:
|
||||
- golangci-lint run
|
||||
|
||||
test:
|
||||
desc: Run unit tests
|
||||
deps: [fmt]
|
||||
sources:
|
||||
- '**/*.go'
|
||||
generates:
|
||||
- build/cover.out
|
||||
cmds:
|
||||
- go test -race -cover -coverprofile build/cover.out ./...
|
||||
|
||||
|
||||
coverage-report:
|
||||
desc: Build coverage report
|
||||
deps: [test]
|
||||
sources:
|
||||
- build/cover.out
|
||||
generates:
|
||||
- build/cover.html
|
||||
cmds:
|
||||
- go tool cover -html=build/cover.out -o build/cover.html
|
||||
|
||||
serve-report:
|
||||
desc: Serve the coverage report
|
||||
deps: [coverage-report]
|
||||
cmds:
|
||||
- ip addr list | grep inet
|
||||
- php -S 0.0.0.0:3434 -t build
|
||||
|
||||
serve-docs:
|
||||
desc: Serve the current docs
|
||||
cmds:
|
||||
- godoc -http=0.0.0.0:3434 -play
|
||||
|
||||
cmd-build:
|
||||
internal: true
|
||||
cmds:
|
||||
- go build -o build/ ./cmd/{{.CMD}}
|
||||
|
||||
|
||||
build-all:
|
||||
desc: Builds all available commands
|
||||
sources:
|
||||
- "**/*.go"
|
||||
generates:
|
||||
- build/convids
|
||||
- build/cool-down
|
||||
cmds:
|
||||
- task: cmd-build
|
||||
vars:
|
||||
CMD: "*"
|
||||
Loading…
Add table
Add a link
Reference in a new issue