diff --git a/.gitignore b/.gitignore index 074c34f..25a3257 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,4 @@ graphs*/ # Jekyll documentation _site .jekyll-cache +completions diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 6979ec2..6955c3a 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -2,6 +2,7 @@ before: hooks: - go mod tidy - go generate ./... + - sh scripts/completions.sh builds: - env: - CGO_ENABLED=0 @@ -12,7 +13,7 @@ builds: ldflags: - -X 'github.com/tantalor93/dnspyre/v2/cmd.Version={{.Version}}-{{ .Os }}-{{ .Arch }}' archives: -- id: foo +- id: dnspyre name_template: '{{ .ProjectName }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}' replacements: darwin: Darwin @@ -20,6 +21,10 @@ archives: windows: Windows 386: i386 amd64: x86_64 + files: + - LICENSE + - README.md + - completions/* checksum: name_template: 'checksums.txt' snapshot: @@ -31,7 +36,11 @@ brews: owner: tantalor93 name: homebrew-dnspyre folder: Formula - homepage: https://github.com/Tantalor93/dnspyre + homepage: https://tantalor93.github.io/dnspyre/ + install: |- + bin.install "dnspyre" + bash_completion.install "completions/dnspyre.bash" => "_dnspyre" + zsh_completion.install "completions/dnspyre.zsh" => "_dnspyre" dockers: - use: buildx id: dnspyre diff --git a/scripts/completions.sh b/scripts/completions.sh new file mode 100644 index 0000000..d723c8e --- /dev/null +++ b/scripts/completions.sh @@ -0,0 +1,8 @@ +#!/bin/sh +# scripts/completions.sh +set -e +rm -rf completions +mkdir completions +for sh in bash zsh; do + go run main.go completion "$sh" >"completions/dnspyre.$sh" +done