Activate lint gosimple.

This commit is contained in:
jregan
2019-11-14 20:56:39 -08:00
parent 85d34531a2
commit 3da0afdda0
11 changed files with 94 additions and 63 deletions

View File

@@ -1,7 +1,7 @@
# Copyright 2019 The Kubernetes Authors.
# SPDX-License-Identifier: Apache-2.0
#
# Makefile for the kustomize repo.
# Makefile for kustomize CLI and API.
MYGOBIN := $(shell go env GOPATH)/bin
SHELL := /bin/bash
@@ -17,10 +17,23 @@ verify-kustomize: \
test-examples-kustomize-against-HEAD \
test-examples-kustomize-against-latest
# Other builds in this repo might want a different linter version.
# Without one Makefile to rule them all, the different makes
# cannot assume that golanci-lint is at the version they want
# since everything uses the same implicit GOPATH.
# This installs in a temp dir to avoid overwriting someone else's
# linter, then installs in MYGOBIN with a new name.
# Version pinned by api/go.mod
$(MYGOBIN)/golangci-lint:
cd api; \
go install github.com/golangci/golangci-lint/cmd/golangci-lint
$(MYGOBIN)/golangci-lint-kustomize:
( \
set -e; \
export GOBIN=$$(mktemp -d) \
cd api; \
GO111MODULE=on go install \
github.com/golangci/golangci-lint/cmd/golangci-lint; \
mv $$GOBIN/golangci-lint \
$(MYGOBIN)/golangci-lint-kustomize \
)
# Version pinned by api/go.mod
$(MYGOBIN)/mdrip:
@@ -50,7 +63,7 @@ $(MYGOBIN)/kustomize:
.PHONY: install-tools
install-tools: \
$(MYGOBIN)/goimports \
$(MYGOBIN)/golangci-lint \
$(MYGOBIN)/golangci-lint-kustomize \
$(MYGOBIN)/mdrip \
$(MYGOBIN)/pluginator \
$(MYGOBIN)/stringer
@@ -76,11 +89,11 @@ builtinplugins = \
.PHONY: lint-kustomize
lint-kustomize: install-tools $(builtinplugins)
cd api; \
$(MYGOBIN)/golangci-lint -c ../.golangci.yml run ./...
$(MYGOBIN)/golangci-lint-kustomize -c ../.golangci-kustomize.yml run ./...
cd kustomize; \
$(MYGOBIN)/golangci-lint -c ../.golangci.yml run ./...
$(MYGOBIN)/golangci-lint-kustomize -c ../.golangci-kustomize.yml run ./...
cd pluginator; \
$(MYGOBIN)/golangci-lint -c ../.golangci.yml run ./...
$(MYGOBIN)/golangci-lint-kustomize -c ../.golangci-kustomize.yml run ./...
# TODO: modify rule to trigger on source material. E.g. editting
# plugin/builtin/namespacetransformer/NamespaceTransformer.go
@@ -91,11 +104,11 @@ lint-kustomize: install-tools $(builtinplugins)
api/builtins/%.go: $(MYGOBIN)/pluginator
@echo "generating $*"
( \
set -e; \
cd plugin/builtin/$*; \
go generate .; \
cd ../../../api/builtins; \
$(MYGOBIN)/goimports -w $*.go \
set -e; \
cd plugin/builtin/$*; \
go generate .; \
cd ../../../api/builtins; \
$(MYGOBIN)/goimports -w $*.go \
)
.PHONY: test-unit-kustomize-api
@@ -123,13 +136,13 @@ test-examples-kustomize-against-HEAD: $(MYGOBIN)/kustomize $(MYGOBIN)/mdrip
.PHONY:
test-examples-kustomize-against-latest: $(MYGOBIN)/mdrip
( \
set -e; \
/bin/rm -f $(MYGOBIN)/kustomize; \
echo "Installing kustomize from latest."; \
GO111MODULE=on go install sigs.k8s.io/kustomize/kustomize/v3; \
./hack/testExamplesAgainstKustomize.sh latest; \
echo "Reinstalling kustomize from HEAD."; \
cd kustomize; go install .; \
set -e; \
/bin/rm -f $(MYGOBIN)/kustomize; \
echo "Installing kustomize from latest."; \
GO111MODULE=on go install sigs.k8s.io/kustomize/kustomize/v3; \
./hack/testExamplesAgainstKustomize.sh latest; \
echo "Reinstalling kustomize from HEAD."; \
cd kustomize; go install .; \
)
# linux only.
@@ -140,12 +153,12 @@ test-examples-kustomize-against-latest: $(MYGOBIN)/mdrip
# Instead, download the binary.
$(MYGOBIN)/kubeval:
( \
set -e; \
d=$(shell mktemp -d); cd $$d; \
wget https://github.com/instrumenta/kubeval/releases/latest/download/kubeval-linux-amd64.tar.gz; \
tar xf kubeval-linux-amd64.tar.gz; \
mv kubeval $(MYGOBIN); \
rm -rf $$d; \
set -e; \
d=$(shell mktemp -d); cd $$d; \
wget https://github.com/instrumenta/kubeval/releases/latest/download/kubeval-linux-amd64.tar.gz; \
tar xf kubeval-linux-amd64.tar.gz; \
mv kubeval $(MYGOBIN); \
rm -rf $$d; \
)
# linux only.
@@ -156,12 +169,12 @@ $(MYGOBIN)/kubeval:
# Instead, download the binary.
$(MYGOBIN)/helm:
( \
set -e; \
d=$(shell mktemp -d); cd $$d; \
wget https://storage.googleapis.com/kubernetes-helm/helm-v2.13.1-linux-amd64.tar.gz; \
tar -xvzf helm-v2.13.1-linux-amd64.tar.gz; \
mv linux-amd64/helm $(MYGOBIN); \
rm -rf $$d \
set -e; \
d=$(shell mktemp -d); cd $$d; \
wget https://storage.googleapis.com/kubernetes-helm/helm-v2.13.1-linux-amd64.tar.gz; \
tar -xvzf helm-v2.13.1-linux-amd64.tar.gz; \
mv linux-amd64/helm $(MYGOBIN); \
rm -rf $$d \
)
.PHONY: clean
@@ -169,7 +182,7 @@ clean:
rm -f $(builtinplugins)
rm -f $(MYGOBIN)/pluginator
rm -f $(MYGOBIN)/kustomize
rm -f $(MYGOBIN)/golangci-lint
rm -f $(MYGOBIN)/golangci-lint-kustomize
.PHONY: nuke
nuke: clean