Signed-off-by: Nikolai Rodionov <allanger@badhouseplants.net>
This commit is contained in:
73
Taskfile.yml
73
Taskfile.yml
@@ -2,75 +2,12 @@
|
||||
|
||||
version: "3"
|
||||
|
||||
vars:
|
||||
LOCALBIN:
|
||||
sh: echo "$(pwd)/bin"
|
||||
CONTAINER_TOOL: '{{.CONTAINER_TOOL | default "podman"}}'
|
||||
# Tools
|
||||
PROTODOC: "{{.LOCALBIN}}/protodoc"
|
||||
PROTOLINT: "{{.LOCALBIN}}/protolint"
|
||||
tasks:
|
||||
lint:
|
||||
desc: Run linter in a container
|
||||
deps:
|
||||
- protolint
|
||||
cmd: '"{{.PROTOLINT}}" lint $(find . -type f -iname "*.proto")'
|
||||
|
||||
gen-docs:
|
||||
desc: Generate docs in a container
|
||||
deps:
|
||||
- protodoc
|
||||
cmd: '"{{.PROTODOC}}" --doc_opt=markdown,README.md'
|
||||
|
||||
# Install required tools
|
||||
localbin:
|
||||
desc: Create local bin directory
|
||||
desc: Run linter
|
||||
silent: true
|
||||
cmds:
|
||||
- mkdir -p "{{.LOCALBIN}}"
|
||||
|
||||
protodoc:
|
||||
desc: Install protodoc
|
||||
cmd: buf lint
|
||||
generate:
|
||||
desc: Generate code
|
||||
silent: true
|
||||
deps:
|
||||
- localbin
|
||||
cmds:
|
||||
- task: go-install-tool
|
||||
vars:
|
||||
TARGET: "{{.PROTODOC}}"
|
||||
PACKAGE: go.etcd.io/protodoc
|
||||
VERSION: "latest"
|
||||
|
||||
protolint:
|
||||
desc: Install protolint
|
||||
silent: true
|
||||
deps:
|
||||
- localbin
|
||||
cmds:
|
||||
- task: go-install-tool
|
||||
vars:
|
||||
TARGET: "{{.PROTOLINT}}"
|
||||
PACKAGE: github.com/yoheimuta/protolint/cmd/protolint
|
||||
VERSION: "latest"
|
||||
|
||||
go-install-tool:
|
||||
internal: true
|
||||
silent: true
|
||||
cmd: |-
|
||||
set -e
|
||||
TARGET="{{.TARGET}}"
|
||||
PACKAGE="{{.PACKAGE}}@{{.VERSION}}"
|
||||
VERSIONED="${TARGET}-{{.VERSION}}"
|
||||
|
||||
if [ -f "$VERSIONED" ] && [ "$(readlink -- "$TARGET" 2>/dev/null)" = "$VERSIONED" ]; then
|
||||
echo "$PACKAGE already installed"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Downloading $PACKAGE"
|
||||
rm -f "$TARGET"
|
||||
|
||||
GOBIN="{{.LOCALBIN}}" go install "$PACKAGE"
|
||||
|
||||
mv "{{.LOCALBIN}}/$(basename "$TARGET")" "$VERSIONED"
|
||||
ln -sf "$(realpath "$VERSIONED")" "$TARGET"
|
||||
cmd: buf generate
|
||||
|
||||
Reference in New Issue
Block a user