diff --git a/Makefile b/Makefile deleted file mode 100644 index abe519c..0000000 --- a/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -lint: - golangci-lint run - -build: - go build -ldflags "-s -w" -o "./dodo" - -build-all: - rm -rf ./binaries - ./build.sh diff --git a/Taskfile.yaml b/Taskfile.yaml new file mode 100644 index 0000000..f199bd9 --- /dev/null +++ b/Taskfile.yaml @@ -0,0 +1,40 @@ +# https://taskfile.dev + +version: "3" + +vars: + PLATFORMS: + - os: darwin + archs: [amd64, arm64] + - os: freebsd + archs: [386, amd64, arm] + - os: linux + archs: [386, amd64, arm, arm64] + - os: netbsd + archs: [386, amd64, arm] + - os: openbsd + archs: [386, amd64, arm, arm64] + - os: windows + archs: [386, amd64, arm64] + +tasks: + lint: golangci-lint run + + build: go build -ldflags "-s -w" -o "dodo" + + build-all: + silent: true + cmds: + - rm -rf binaries + - for: { var: PLATFORMS, as: PLATFORM } + cmd: | + {{ $ext := "" }} + + {{ if eq $.PLATFORM.os "windows" }} + {{ $ext = ".exe" }} + {{ end }} + + {{range $arch := $.PLATFORM.archs}} + echo "Building for {{$.PLATFORM.os}}/{{$arch}}" + GOOS={{$.PLATFORM.os}} GOARCH={{$arch}} go build -ldflags "-s -w" -o "./binaries/dodo-{{$.PLATFORM.os}}-{{$arch}}{{$ext}}" + {{end}} \ No newline at end of file diff --git a/build.sh b/build.sh deleted file mode 100755 index e9e7251..0000000 --- a/build.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/bash - -platforms=( - "darwin,amd64" - "darwin,arm64" - "freebsd,386" - "freebsd,amd64" - "freebsd,arm" - "linux,386" - "linux,amd64" - "linux,arm" - "linux,arm64" - "netbsd,386" - "netbsd,amd64" - "netbsd,arm" - "openbsd,386" - "openbsd,amd64" - "openbsd,arm" - "openbsd,arm64" - "windows,386" - "windows,amd64" - "windows,arm64" -) - -for platform in "${platforms[@]}"; do - IFS=',' read -r build_os build_arch <<< "$platform" - ext="" - if [ "$build_os" == "windows" ]; then - ext=".exe" - fi - GOOS="$build_os" GOARCH="$build_arch" go build -ldflags "-s -w" -o "./binaries/dodo-$build_os-$build_arch$ext" -done