diff --git a/.golangci.yml b/.golangci-kustomize.yml similarity index 91% rename from .golangci.yml rename to .golangci-kustomize.yml index a617f30e0..ae56ad045 100644 --- a/.golangci.yml +++ b/.golangci-kustomize.yml @@ -14,7 +14,7 @@ linters: - goimports - golint - gosec - # - gosimple (panics) + - gosimple - govet - ineffassign - interfacer @@ -32,8 +32,8 @@ linters: linters-settings: dupl: - threshold: 400 - lll: + threshold: 400 + lll: line-length: 170 gocyclo: min-complexity: 15 diff --git a/Makefile b/Makefile index 46c415719..b0df52b82 100644 --- a/Makefile +++ b/Makefile @@ -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 diff --git a/api/filesys/fsinmemory_test.go b/api/filesys/fsinmemory_test.go index e7cb1036c..db10f04b5 100644 --- a/api/filesys/fsinmemory_test.go +++ b/api/filesys/fsinmemory_test.go @@ -126,7 +126,7 @@ func TestWriteFile(t *testing.T) { if err != nil { t.Fatalf("expected read to work: %v", err) } - if bytes.Compare(c, content) != 0 { + if !bytes.Equal(c, content) { t.Fatalf("incorrect content: %v", content) } } diff --git a/api/go.mod b/api/go.mod index ee9a1f247..8c8a06043 100644 --- a/api/go.mod +++ b/api/go.mod @@ -5,10 +5,10 @@ go 1.13 require ( github.com/evanphx/json-patch v4.5.0+incompatible github.com/go-openapi/spec v0.19.4 - github.com/golangci/golangci-lint v1.19.1 + github.com/golangci/golangci-lint v1.21.0 github.com/monopole/mdrip v1.0.0 github.com/pkg/errors v0.8.1 - golang.org/x/tools v0.0.0-20190912215617-3720d1ec3678 + golang.org/x/tools v0.0.0-20191010075000-0337d82405ff gopkg.in/yaml.v2 v2.2.4 k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a sigs.k8s.io/kustomize/pluginator/v2 v2.0.0 diff --git a/api/go.sum b/api/go.sum index dc45783c3..95908b3b9 100644 --- a/api/go.sum +++ b/api/go.sum @@ -29,6 +29,8 @@ github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRF github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/bombsimon/wsl v1.2.5 h1:9gTOkIwVtoDZywvX802SDHokeX4kW1cKnV8ZTVAPkRs= +github.com/bombsimon/wsl v1.2.5/go.mod h1:43lEF/i0kpXbLCeDXL9LMT8c92HyBywXb0AsgMHYngM= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= @@ -106,6 +108,8 @@ github.com/go-toolsmith/typep v1.0.0 h1:zKymWyA1TRYvqYrYDrfEMZULyrhcnGY3x7LDKU2X github.com/go-toolsmith/typep v1.0.0/go.mod h1:JSQCQMUPdRlMZFswiq3TGpNp1GMktqkR2Ns5AIQkATU= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= +github.com/gofrs/flock v0.0.0-20190320160742-5135e617513b h1:ekuhfTjngPhisSjOJ0QWKpPQE8/rbknHaes6WVJj5Hw= +github.com/gofrs/flock v0.0.0-20190320160742-5135e617513b/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= github.com/gogo/protobuf v1.3.1 h1:DqDEcV5aeaTmdFBePNpYsp3FlcVH/2ISVVM9Qf8PSls= @@ -134,12 +138,18 @@ github.com/golangci/gocyclo v0.0.0-20180528134321-2becd97e67ee h1:J2XAy40+7yz70u github.com/golangci/gocyclo v0.0.0-20180528134321-2becd97e67ee/go.mod h1:ozx7R9SIwqmqf5pRP90DhR2Oay2UIjGuKheCBCNwAYU= github.com/golangci/gofmt v0.0.0-20181222123516-0b8337e80d98 h1:0OkFarm1Zy2CjCiDKfK9XHgmc2wbDlRMD2hD8anAJHU= github.com/golangci/gofmt v0.0.0-20181222123516-0b8337e80d98/go.mod h1:9qCChq59u/eW8im404Q2WWTrnBUQKjpNYKMbU4M7EFU= +github.com/golangci/gofmt v0.0.0-20190930125516-244bba706f1a h1:iR3fYXUjHCR97qWS8ch1y9zPNsgXThGwjKPrYfqMPks= +github.com/golangci/gofmt v0.0.0-20190930125516-244bba706f1a/go.mod h1:9qCChq59u/eW8im404Q2WWTrnBUQKjpNYKMbU4M7EFU= github.com/golangci/golangci-lint v1.19.1 h1:g9xL8KW7UZDCkVlgHYJMA6F4Sj/sRVa0FoCeXI+Z3iM= github.com/golangci/golangci-lint v1.19.1/go.mod h1:2CEc4Fxx3vxDv7g8DyXkHCBF73AOzAymcJAprs2vCps= +github.com/golangci/golangci-lint v1.21.0 h1:HxAxpR8Z0M8omihvQdsD3PF0qPjlqYqp2vMJzstoKeI= +github.com/golangci/golangci-lint v1.21.0/go.mod h1:phxpHK52q7SE+5KpPnti4oZTdFCEsn/tKN+nFvCKXfk= github.com/golangci/ineffassign v0.0.0-20190609212857-42439a7714cc h1:gLLhTLMk2/SutryVJ6D4VZCU3CUqr8YloG7FPIBWFpI= github.com/golangci/ineffassign v0.0.0-20190609212857-42439a7714cc/go.mod h1:e5tpTHCfVze+7EpLEozzMB3eafxo2KT5veNg1k6byQU= github.com/golangci/lint-1 v0.0.0-20190420132249-ee948d087217 h1:En/tZdwhAn0JNwLuXzP3k2RVtMqMmOEK7Yu/g3tmtJE= github.com/golangci/lint-1 v0.0.0-20190420132249-ee948d087217/go.mod h1:66R6K6P6VWk9I95jvqGxkqJxVWGFy9XlDwLwVz1RCFg= +github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0 h1:MfyDlzVjl1hoaPzPD4Gpb/QgoRfSBR0jdhwGyAWwMSA= +github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0/go.mod h1:66R6K6P6VWk9I95jvqGxkqJxVWGFy9XlDwLwVz1RCFg= github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca h1:kNY3/svz5T29MYHubXix4aDDuE3RWHkPvopM/EDv/MA= github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca/go.mod h1:tvlJhZqDe4LMs4ZHD0oMUlt9G2LWuDGoisJTBzLMV9o= github.com/golangci/misspell v0.0.0-20180809174111-950f5d19e770 h1:EL/O5HGrF7Jaq0yNhBLucz9hTuRzj2LdwGBOaENgxIk= @@ -221,8 +231,12 @@ github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e h1:hB2xlXdHp/pmPZq github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/matoous/godox v0.0.0-20190910121045-032ad8106c86 h1:q6SrfsK4FojRnJ1j8+8OJzyq3g9Y1oSVyL6nYGJXXBk= github.com/matoous/godox v0.0.0-20190910121045-032ad8106c86/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s= +github.com/matoous/godox v0.0.0-20190911065817-5d6d842e92eb h1:RHba4YImhrUVQDHUCe2BNSOz4tVy2yGyXhvYDvxGgeE= +github.com/matoous/godox v0.0.0-20190911065817-5d6d842e92eb/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s= github.com/mattn/go-colorable v0.1.2 h1:/bC9yWikZXAL9uJdulbSfyVNIR3n3trXl+v8+1sx8mU= github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.4 h1:snbPLB8fVfU9iwbbo30TPtbLRzwWu6aJS6Xh4eaaviA= +github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-isatty v0.0.8 h1:HLtExJ+uU2HOZ+wI0Tt5DtUDrx8yhUqDcp7fYERX4CE= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= @@ -282,6 +296,8 @@ github.com/russross/blackfriday v2.0.0+incompatible h1:cBXrhZNUf9C+La9/YpS+UHpUT github.com/russross/blackfriday v2.0.0+incompatible/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/securego/gosec v0.0.0-20190912120752-140048b2a218 h1:O0yPHYL49quNL4Oj2wVq+zbGMu4dAM6iLoOQtm49TrQ= github.com/securego/gosec v0.0.0-20190912120752-140048b2a218/go.mod h1:q6oYAujd2qyeU4cJqIri4LBIgdHXGvxWHZ1E29HNFRE= +github.com/securego/gosec v0.0.0-20191002120514-e680875ea14d h1:BzRvVq1EHuIjxpijCEKpAxzKUUMurOQ4sknehIATRh8= +github.com/securego/gosec v0.0.0-20191002120514-e680875ea14d/go.mod h1:w5+eXa0mYznDkHaMCXA4XYffjlH+cy1oyKbfzJXa2Do= github.com/shirou/gopsutil v0.0.0-20190901111213-e4ec7b275ada/go.mod h1:WWnYX4lzhCH5h/3YBfyVA3VbLYjlMZZAQcW9ojMexNc= github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4/go.mod h1:qsXQc7+bwAM3Q1u/4XEfrquwF8Lw7D7y5cD8CuHnfIc= github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e h1:MZM7FHLqUHYI0Y/mQAt3d2aYa0SiNms/hFqC9qJYolM= @@ -324,6 +340,8 @@ github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJy github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/timakin/bodyclose v0.0.0-20190721030226-87058b9bfcec h1:AmoEvWAO3nDx1MEcMzPh+GzOOIA5Znpv6++c7bePPY0= github.com/timakin/bodyclose v0.0.0-20190721030226-87058b9bfcec/go.mod h1:Qimiffbc6q9tBWlVV6x0P9sat/ao1xEkREYPPj9hphk= +github.com/timakin/bodyclose v0.0.0-20190930140734-f7f2e9bca95e h1:RumXZ56IrCj4CL+g1b9OL/oH0QnsF976bC8xQFYUD5Q= +github.com/timakin/bodyclose v0.0.0-20190930140734-f7f2e9bca95e/go.mod h1:Qimiffbc6q9tBWlVV6x0P9sat/ao1xEkREYPPj9hphk= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= @@ -331,6 +349,10 @@ github.com/ultraware/funlen v0.0.2 h1:Av96YVBwwNSe4MLR7iI/BIa3VyI7/djnto/pK3Uxbd github.com/ultraware/funlen v0.0.2/go.mod h1:Dp4UiAus7Wdb9KUZsYWZEWiRzGuM2kXM1lPbfaF6xhA= github.com/ultraware/whitespace v0.0.3 h1:S5BCRRB5sttNy0bSOhbpw+0mb+cHiCmWfrvxpEzuUk0= github.com/ultraware/whitespace v0.0.3/go.mod h1:aVMh/gQve5Maj9hQ/hg+F75lr/X5A89uZnzAmWSineA= +github.com/ultraware/whitespace v0.0.4 h1:If7Va4cM03mpgrNH9k49/VOicWpGoG70XPBFFODYDsg= +github.com/ultraware/whitespace v0.0.4/go.mod h1:aVMh/gQve5Maj9hQ/hg+F75lr/X5A89uZnzAmWSineA= +github.com/uudashr/gocognit v0.0.0-20190926065955-1655d0de0517 h1:ChMKTho2hWKpks/nD/FL2KqM1wuVt62oJeiE8+eFpGs= +github.com/uudashr/gocognit v0.0.0-20190926065955-1655d0de0517/go.mod h1:j44Ayx2KW4+oB6SWMv8KsmHzZrOInQav7D3cQMJ5JUM= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= github.com/valyala/fasthttp v1.2.0/go.mod h1:4vX61m6KN+xDduDNwXrhIAVZaZaZiQ1luJk8LWSxF3s= github.com/valyala/quicktemplate v1.2.0/go.mod h1:EH+4AkTd43SvgIbQHYu59/cJyxDoOVRUAfrukLPuGJ4= @@ -347,6 +369,7 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= @@ -366,6 +389,7 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190909003024-a7b16738d86b h1:XfVGCX+0T4WOStkaOsJRllbsiImhB2jgVBGc9L0lPGc= golang.org/x/net v0.0.0-20190909003024-a7b16738d86b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -386,6 +410,8 @@ golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190911201528-7ad0cfa0b7b5 h1:SW/0nsKCUaozCUtZTakri5laocGx/5bkDSSLrFUsa5s= golang.org/x/sys v0.0.0-20190911201528-7ad0cfa0b7b5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190922100055-0a153f010e69 h1:rOhMmluY6kLMhdnrivzec6lLgaVbMHMn2ISQXJeJ5EM= +golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= @@ -411,6 +437,9 @@ golang.org/x/tools v0.0.0-20190910044552-dd2b5c81c578/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20190911230505-6bfd74cf029c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190912215617-3720d1ec3678 h1:rM1Udd0CgtYI3KUIhu9ROz0QCqjW+n/ODp/hH7c60Xc= golang.org/x/tools v0.0.0-20190912215617-3720d1ec3678/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190930201159-7c411dea38b0/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191010075000-0337d82405ff h1:XdBG6es/oFDr1HwaxkxgVve7NB281QhxgK/i4voubFs= +golang.org/x/tools v0.0.0-20191010075000-0337d82405ff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= diff --git a/api/internal/accumulator/loadconfigfromcrds.go b/api/internal/accumulator/loadconfigfromcrds.go index db94eea7a..00e1c66db 100644 --- a/api/internal/accumulator/loadconfigfromcrds.go +++ b/api/internal/accumulator/loadconfigfromcrds.go @@ -93,10 +93,7 @@ func looksLikeAk8sType(properties myProperties) bool { return false } _, ok = properties["metadata"] - if !ok { - return false - } - return true + return ok } const ( diff --git a/api/internal/accumulator/namereferencetransformer.go b/api/internal/accumulator/namereferencetransformer.go index 6d82a4f10..6dbd73c1a 100644 --- a/api/internal/accumulator/namereferencetransformer.go +++ b/api/internal/accumulator/namereferencetransformer.go @@ -212,31 +212,27 @@ func (o *nameReferenceTransformer) getNewNameFunc( target resid.Gvk, referralCandidates resmap.ResMap) func(in interface{}) (interface{}, error) { return func(in interface{}) (interface{}, error) { - switch in.(type) { + switch thing := in.(type) { case string: - oldName, _ := in.(string) - return o.getSimpleNameField(oldName, referrer, target, + return o.getSimpleNameField(thing, referrer, target, referralCandidates, referralCandidates.Resources()) case map[string]interface{}: // Kind: ValidatingWebhookConfiguration // FieldSpec is webhooks/clientConfig/service - oldMap, _ := in.(map[string]interface{}) - return o.getNameAndNsStruct(oldMap, referrer, target, + return o.getNameAndNsStruct(thing, referrer, target, referralCandidates) case []interface{}: - l, _ := in.([]interface{}) - for idx, item := range l { - switch item.(type) { + for idx, item := range thing { + switch value := item.(type) { case string: // Kind: Role/ClusterRole // FieldSpec is rules.resourceNames - oldName, _ := item.(string) - newName, err := o.getSimpleNameField(oldName, referrer, target, + newName, err := o.getSimpleNameField(value, referrer, target, referralCandidates, referralCandidates.Resources()) if err != nil { return nil, err } - l[idx] = newName + thing[idx] = newName case map[string]interface{}: // Kind: RoleBinding/ClusterRoleBinding // FieldSpec is subjects @@ -245,13 +241,12 @@ func (o *nameReferenceTransformer) getNewNameFunc( // what get mutatefield to request the mapping of the whole // map containing namespace and name instead of just a simple // string field containing the name - oldMap, _ := item.(map[string]interface{}) - newMap, err := o.getNameAndNsStruct(oldMap, referrer, target, + newMap, err := o.getNameAndNsStruct(value, referrer, target, referralCandidates) if err != nil { return nil, err } - l[idx] = newMap + thing[idx] = newMap default: return nil, fmt.Errorf( "%#v is expected to be either a []string or a []map[string]interface{}", in) diff --git a/api/internal/plugins/compiler/compiler.go b/api/internal/plugins/compiler/compiler.go index 3b54d338c..315108edd 100644 --- a/api/internal/plugins/compiler/compiler.go +++ b/api/internal/plugins/compiler/compiler.go @@ -159,7 +159,7 @@ func RecentFileExists(path string) bool { return false } } - age := time.Now().Sub(fi.ModTime()) + age := time.Since(fi.ModTime()) return age.Minutes() < 3 } diff --git a/api/internal/target/multiplepatch_test.go b/api/internal/target/multiplepatch_test.go index e94111c77..ea836026f 100644 --- a/api/internal/target/multiplepatch_test.go +++ b/api/internal/target/multiplepatch_test.go @@ -460,5 +460,4 @@ spec: err.Error(), "both containing ") { t.Fatalf("Unexpected err: %v", err) } - return } diff --git a/api/types/genargs.go b/api/types/genargs.go index 94927b224..93acbad84 100644 --- a/api/types/genargs.go +++ b/api/types/genargs.go @@ -39,7 +39,7 @@ func (g *GenArgs) String() string { // 1) GenArgs is not nil // 2) DisableNameSuffixHash in GeneratorOptions is not set to true func (g *GenArgs) NeedsHashSuffix() bool { - return g.args != nil && (g.opts == nil || g.opts.DisableNameSuffixHash == false) + return g.args != nil && (g.opts == nil || !g.opts.DisableNameSuffixHash) } // Behavior returns Behavior field of GeneratorArgs diff --git a/api/types/kustomization.go b/api/types/kustomization.go index e98c8b5e1..9c2c03d94 100644 --- a/api/types/kustomization.go +++ b/api/types/kustomization.go @@ -133,9 +133,7 @@ func (k *Kustomization) FixKustomizationPostUnmarshalling() { if k.Kind == "" { k.Kind = KustomizationKind } - for _, b := range k.Bases { - k.Resources = append(k.Resources, b) - } + k.Resources = append(k.Resources, k.Bases...) k.Bases = nil }