.PHONY: golangci-lint gotestsum gofumpt buf swagger controller-gen

GOINSTALL := CGO_ENABLED=0 GOBIN="$(CURDIR)/bin" go install

golangci-lint: go.mod
	$(GOINSTALL) "github.com/golangci/golangci-lint/v2/cmd/golangci-lint"

gotestsum: go.mod
	$(GOINSTALL) "gotest.tools/gotestsum"

gofumpt: go.mod
	$(GOINSTALL) "mvdan.cc/gofumpt"

buf: go.mod
	$(GOINSTALL) "github.com/bufbuild/buf/cmd/buf@v1.45.0"

mockgen: go.mod
	$(GOINSTALL) "go.uber.org/mock/mockgen"

api-linter: go.mod
	$(GOINSTALL) "github.com/googleapis/api-linter/cmd/api-linter"

controller-gen: go.mod
	$(GOINSTALL) "sigs.k8s.io/controller-tools/cmd/controller-gen"

crd2pulumi: go.mod
	$(GOINSTALL) "github.com/pulumi/crd2pulumi"
