version: '3' vars: PROGRAM: vbantxt SHELL: '{{if eq .OS "Windows_NT"}}powershell{{end}}' BIN_DIR: bin WINDOWS: '{{.BIN_DIR}}/{{.PROGRAM}}_windows_amd64.exe' LINUX: '{{.BIN_DIR}}/{{.PROGRAM}}_linux_amd64' GIT_COMMIT: sh: git log -n 1 --format=%h tasks: default: desc: "Build the vbantxt project" deps: [build] build: desc: "Build the vbantxt project" deps: [vet, build-windows, build-linux] vet: desc: "Vet the code" deps: [fmt] cmds: - go vet ./... fmt: desc: "Fmt the code" cmds: - go fmt ./... build-windows: desc: "Build the vbantxt project for Windows" cmds: - GOOS=windows GOARCH=amd64 go build -o {{.WINDOWS}} -ldflags="-X main.Version={{.GIT_COMMIT}}" ./cmd/{{.PROGRAM}}/ build-linux: desc: "Build the vbantxt project for Linux" cmds: - GOOS=linux GOARCH=amd64 go build -o {{.LINUX}} -ldflags="-X main.Version={{.GIT_COMMIT}}" ./cmd/{{.PROGRAM}}/ test: desc: "Run tests" cmds: - go test ./... clean: desc: "Clean the build artifacts" cmds: - '{{.SHELL}} rm -r {{.BIN_DIR}}'