Files
kustomize/kyaml/Makefile
2021-06-28 17:04:04 -07:00

59 lines
1.3 KiB
Makefile

# Copyright 2019 The Kubernetes Authors.
# SPDX-License-Identifier: Apache-2.0
MYGOBIN = $(shell go env GOBIN)
ifeq ($(MYGOBIN),)
MYGOBIN = $(shell go env GOPATH)/bin
endif
export PATH := $(MYGOBIN):$(PATH)
.PHONY: generate license fix vet fmt test lint tidy clean
$(MYGOBIN)/addlicense:
go get github.com/google/addlicense
# TODO: Issue #3663
# Update this version of golangci-lint
# Ideally use same version as in {REPO}/hack/go.mod
$(MYGOBIN)/golangci-lint:
go get github.com/golangci/golangci-lint/cmd/golangci-lint@v1.17.0
$(MYGOBIN)/k8scopy:
( cd ../cmd/k8scopy; go install . )
$(MYGOBIN)/stringer:
go get golang.org/x/tools/cmd/stringer
all: license fix vet fmt test tidy
k8sGenDir := yaml/internal/k8sgen/pkg
generate: $(MYGOBIN)/stringer $(MYGOBIN)/k8scopy
go generate ./...
clean:
rm -rf $(k8sGenDir)
lint: $(MYGOBIN)/golangci-lint
$(MYGOBIN)/golangci-lint \
run ./...
license: $(MYGOBIN)/addlicense
( find . -type f -not -path "*/internal/forked/github.com/go-yaml*" -exec bash -c "$(MYGOBIN)/addlicense -y 2021 -c 'The Kubernetes Authors.' -f LICENSE_TEMPLATE {}" ";" )
test:
go test -cover ./...
fix:
go fix ./...
fmt:
go fmt $(shell go list ./... | grep -v "/kyaml/internal/forked/github.com/go-yaml/yaml")
tidy:
go mod tidy
vet:
go vet $(shell go list ./... | grep -v "/kyaml/internal/forked/github.com/go-yaml/yaml")