mirror of
https://codeberg.org/woodpecker-plugins/go-plugin.git
synced 2025-05-09 11:19:30 +02:00
Adds two custom cli flags: - `StringMapFlag` parses JSON to string map used for plugin map options - `StringSliceFlag` parses comma-separated plugin slice options to slice and supports escaping Reviewed-on: https://codeberg.org/woodpecker-plugins/go-plugin/pulls/48 Reviewed-by: Patrick Schratz <pat-s@noreply.codeberg.org> Co-authored-by: Robert Kaussow <mail@thegeeklab.de> Co-committed-by: Robert Kaussow <mail@thegeeklab.de>
42 lines
976 B
Makefile
42 lines
976 B
Makefile
GOFILES_NOVENDOR = $(shell find . -type f -name '*.go' -not -path "./vendor/*" -not -path "./.git/*")
|
|
GO_PACKAGES ?= $(shell go list ./... | grep -v /vendor/)
|
|
|
|
.PHONY: all
|
|
all: lint
|
|
|
|
vendor:
|
|
go mod tidy
|
|
go mod vendor
|
|
|
|
format: install-tools ## Format source code
|
|
@gofumpt -extra -w ${GOFILES_NOVENDOR}
|
|
|
|
formatcheck:
|
|
@([ -z "$(shell gofumpt -d $(GOFILES_NOVENDOR) | head)" ]) || (echo "Source is unformatted"; exit 1)
|
|
|
|
install-tools: ## Install development tools
|
|
@hash golangci-lint > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
|
|
go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@latest ; \
|
|
fi ; \
|
|
hash gofumpt > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
|
|
go install mvdan.cc/gofumpt@latest; \
|
|
fi ; \
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
go clean -i ./...
|
|
|
|
.PHONY: lint
|
|
lint: install-tools ## Lint code
|
|
@echo "Running golangci-lint"
|
|
golangci-lint run
|
|
|
|
.PHONY: vet
|
|
vet:
|
|
@echo "Running go vet..."
|
|
@go vet $(GO_PACKAGES)
|
|
|
|
.PHONY: test
|
|
test:
|
|
go test -race -cover ./...
|