From 8cec5fbd28c07e8604c002c31ad9438a24dec0b6 Mon Sep 17 00:00:00 2001 From: Davanum Srinivas Date: Thu, 14 Jan 2021 08:58:56 -0500 Subject: [PATCH 1/2] Remove golint based verifications After a couple years of seeing changes spawned from this issue, I don't think this is a good use of contributors' or reviewers' time. golint is very opinionated about: exported type and function names, leading to PRs attempting to change exported things people use downstream missing documentation on interface implementation functions, which leads to not-very-useful copy/paste of interface godoc the govet and staticcheck verify jobs are much more useful since they catch correctness issues Signed-off-by: Davanum Srinivas --- hack/.golint_failures | 475 ------------------------------------------ hack/verify-golint.sh | 134 ------------ 2 files changed, 609 deletions(-) delete mode 100644 hack/.golint_failures delete mode 100755 hack/verify-golint.sh diff --git a/hack/.golint_failures b/hack/.golint_failures deleted file mode 100644 index a4efe4356b4..00000000000 --- a/hack/.golint_failures +++ /dev/null @@ -1,475 +0,0 @@ -# Apart from this line, only trailing comments are supported -cmd/kube-apiserver/app -cmd/kubeadm/app/apis/kubeadm/v1beta1 -cmd/kubeadm/app/apis/kubeadm/v1beta2 -pkg/apis/abac/v0 -pkg/apis/abac/v1beta1 -pkg/apis/admission -pkg/apis/admissionregistration/v1 -pkg/apis/admissionregistration/v1beta1 -pkg/apis/apps/v1 -pkg/apis/apps/v1beta1 -pkg/apis/apps/v1beta2 -pkg/apis/authentication/v1 -pkg/apis/autoscaling/v1 -pkg/apis/autoscaling/v2beta1 -pkg/apis/autoscaling/v2beta2 -pkg/apis/batch/v1 -pkg/apis/batch/v1beta1 -pkg/apis/batch/v2alpha1 -pkg/apis/certificates -pkg/apis/certificates/v1beta1 -pkg/apis/certificates/validation -pkg/apis/core/helper/qos -pkg/apis/core/v1 -pkg/apis/core/v1/helper/qos -pkg/apis/core/validation -pkg/apis/discovery/v1alpha1 -pkg/apis/discovery/v1beta1 -pkg/apis/events/v1 -pkg/apis/events/v1beta1 -pkg/apis/extensions/v1beta1 -pkg/apis/flowcontrol/v1alpha1 -pkg/apis/flowcontrol/v1beta1 -pkg/apis/networking/v1 -pkg/apis/networking/v1beta1 -pkg/apis/node/v1alpha1 -pkg/apis/policy/v1beta1 -pkg/apis/rbac/v1 -pkg/apis/rbac/v1alpha1 -pkg/apis/rbac/v1beta1 -pkg/apis/rbac/validation -pkg/apis/scheduling/v1 -pkg/apis/scheduling/v1alpha1 -pkg/apis/scheduling/v1beta1 -pkg/apis/storage -pkg/apis/storage/v1 -pkg/apis/storage/v1beta1 -pkg/controller -pkg/controller/apis/config/v1alpha1 -pkg/controller/certificates -pkg/controller/certificates/signer -pkg/controller/certificates/signer/config/v1alpha1 -pkg/controller/clusterroleaggregation -pkg/controller/cronjob/config/v1alpha1 -pkg/controller/daemon -pkg/controller/daemon/config/v1alpha1 -pkg/controller/deployment -pkg/controller/deployment/config/v1alpha1 -pkg/controller/disruption -pkg/controller/endpoint/config/v1alpha1 # only 'don't use underscores in Go names' due to auto generated functions -pkg/controller/endpointslice/config/v1alpha1 # only 'don't use underscores in Go names' due to auto generated functions -pkg/controller/endpointslicemirroring/config/v1alpha1 # only 'don't use underscores in Go names' due to auto generated functions -pkg/controller/garbagecollector -pkg/controller/garbagecollector/config/v1alpha1 -pkg/controller/job/config/v1alpha1 -pkg/controller/namespace -pkg/controller/namespace/config/v1alpha1 -pkg/controller/nodeipam/config/v1alpha1 -pkg/controller/nodelifecycle/config/v1alpha1 -pkg/controller/podautoscaler/config/v1alpha1 -pkg/controller/podautoscaler/metrics -pkg/controller/podgc -pkg/controller/podgc/config/v1alpha1 -pkg/controller/replicaset -pkg/controller/replicaset/config/v1alpha1 -pkg/controller/replication -pkg/controller/replication/config/v1alpha1 -pkg/controller/resourcequota/config/v1alpha1 -pkg/controller/serviceaccount/config/v1alpha1 -pkg/controller/statefulset -pkg/controller/statefulset/config/v1alpha1 -pkg/controller/ttlafterfinished/config/v1alpha1 -pkg/controller/volume/attachdetach -pkg/controller/volume/attachdetach/config/v1alpha1 -pkg/controller/volume/attachdetach/statusupdater -pkg/controller/volume/attachdetach/testing -pkg/controller/volume/expand -pkg/controller/volume/persistentvolume -pkg/controller/volume/persistentvolume/config/v1alpha1 -pkg/controlplane/controller/crdregistration -pkg/controlplane/tunneler -pkg/features -pkg/kubeapiserver -pkg/kubectl/cmd/convert -pkg/kubelet/apis/config/v1beta1 -pkg/kubelet/cm -pkg/kubelet/container -pkg/kubelet/container/testing -pkg/kubelet/dockershim/libdocker -pkg/kubelet/dockershim/network -pkg/kubelet/dockershim/network/cni/testing -pkg/kubelet/dockershim/network/hostport -pkg/kubelet/dockershim/network/kubenet -pkg/kubelet/dockershim/network/testing -pkg/kubelet/pluginmanager/pluginwatcher -pkg/kubelet/pod/testing -pkg/kubelet/preemption -pkg/kubelet/sysctl -pkg/kubemark -pkg/proxy/apis/config -pkg/proxy/apis/config/v1alpha1 -pkg/proxy/userspace -pkg/proxy/winkernel -pkg/proxy/winuserspace -pkg/registry/admissionregistration/rest -pkg/registry/authentication/rest -pkg/registry/authentication/tokenreview -pkg/registry/authorization/localsubjectaccessreview -pkg/registry/authorization/rest -pkg/registry/authorization/selfsubjectaccessreview -pkg/registry/authorization/subjectaccessreview -pkg/registry/autoscaling/rest -pkg/registry/batch/job -pkg/registry/batch/rest -pkg/registry/certificates/certificates -pkg/registry/certificates/rest -pkg/registry/coordination/rest -pkg/registry/core/componentstatus -pkg/registry/core/namespace -pkg/registry/core/namespace/storage -pkg/registry/core/node -pkg/registry/core/persistentvolume -pkg/registry/core/persistentvolumeclaim -pkg/registry/core/replicationcontroller/storage -pkg/registry/core/rest -pkg/registry/core/secret -pkg/registry/core/service -pkg/registry/core/service/allocator -pkg/registry/core/service/allocator/storage -pkg/registry/core/service/ipallocator -pkg/registry/core/service/portallocator -pkg/registry/core/service/portallocator/controller -pkg/registry/core/service/storage -pkg/registry/core/serviceaccount/storage -pkg/registry/events/rest -pkg/registry/extensions/rest -pkg/registry/flowcontrol/rest -pkg/registry/networking/rest -pkg/registry/node/rest -pkg/registry/policy/rest -pkg/registry/rbac/clusterrole/policybased -pkg/registry/rbac/clusterrolebinding -pkg/registry/rbac/clusterrolebinding/policybased -pkg/registry/rbac/rest -pkg/registry/rbac/role/policybased -pkg/registry/rbac/rolebinding -pkg/registry/rbac/rolebinding/policybased -pkg/registry/rbac/validation -pkg/registry/registrytest -pkg/registry/scheduling/rest -pkg/registry/storage/rest -pkg/registry/storage/storageclass -pkg/scheduler/apis/config/v1 -pkg/scheduler/apis/config/v1beta1 -pkg/security/podsecuritypolicy -pkg/security/podsecuritypolicy/group -pkg/security/podsecuritypolicy/selinux -pkg/security/podsecuritypolicy/user -pkg/security/podsecuritypolicy/util -pkg/serviceaccount -pkg/ssh -pkg/util/config -pkg/util/goroutinemap/exponentialbackoff -pkg/util/labels # See previous effort in PR #80685 -pkg/util/oom -pkg/util/procfs -pkg/util/removeall -pkg/util/selinux -pkg/util/taints -pkg/volume -pkg/volume/azure_file -pkg/volume/csi/fake -pkg/volume/git_repo -pkg/volume/iscsi -pkg/volume/testing -pkg/volume/util/volumepathhandler -pkg/volume/vsphere_volume -plugin/pkg/admission/eventratelimit/apis/eventratelimit/v1alpha1 -plugin/pkg/admission/limitranger -plugin/pkg/auth/authorizer/node -plugin/pkg/auth/authorizer/rbac -staging/src/k8s.io/api/apiserverinternal/v1alpha1 -staging/src/k8s.io/api/apps/v1 -staging/src/k8s.io/api/apps/v1beta1 -staging/src/k8s.io/api/apps/v1beta2 -staging/src/k8s.io/api/authentication/v1 -staging/src/k8s.io/api/authentication/v1beta1 -staging/src/k8s.io/api/authorization/v1 -staging/src/k8s.io/api/authorization/v1beta1 -staging/src/k8s.io/api/autoscaling/v1 -staging/src/k8s.io/api/autoscaling/v2beta1 -staging/src/k8s.io/api/autoscaling/v2beta2 -staging/src/k8s.io/api/batch/v1 -staging/src/k8s.io/api/batch/v1beta1 -staging/src/k8s.io/api/batch/v2alpha1 -staging/src/k8s.io/api/certificates/v1beta1 -staging/src/k8s.io/api/coordination/v1 -staging/src/k8s.io/api/coordination/v1beta1 -staging/src/k8s.io/api/core/v1 -staging/src/k8s.io/api/events/v1 -staging/src/k8s.io/api/events/v1beta1 -staging/src/k8s.io/api/extensions/v1beta1 -staging/src/k8s.io/api/imagepolicy/v1alpha1 -staging/src/k8s.io/api/networking/v1 -staging/src/k8s.io/api/policy/v1beta1 -staging/src/k8s.io/api/rbac/v1 -staging/src/k8s.io/api/rbac/v1alpha1 -staging/src/k8s.io/api/rbac/v1beta1 -staging/src/k8s.io/api/scheduling/v1alpha1 -staging/src/k8s.io/api/scheduling/v1beta1 -staging/src/k8s.io/api/storage/v1 -staging/src/k8s.io/api/storage/v1alpha1 -staging/src/k8s.io/api/storage/v1beta1 -staging/src/k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr -staging/src/k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr/v1 -staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions -staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1 -staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1 -staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver -staging/src/k8s.io/apiextensions-apiserver/pkg/cmd/server -staging/src/k8s.io/apiextensions-apiserver/pkg/controller/finalizer -staging/src/k8s.io/apiextensions-apiserver/pkg/controller/status -staging/src/k8s.io/apiextensions-apiserver/pkg/registry/customresource -staging/src/k8s.io/apiextensions-apiserver/pkg/registry/customresourcedefinition -staging/src/k8s.io/apimachinery/pkg/api/apitesting/fuzzer -staging/src/k8s.io/apimachinery/pkg/api/apitesting/roundtrip -staging/src/k8s.io/apimachinery/pkg/api/meta -staging/src/k8s.io/apimachinery/pkg/api/resource -staging/src/k8s.io/apimachinery/pkg/apis/meta/fuzzer -staging/src/k8s.io/apimachinery/pkg/apis/meta/internalversion -staging/src/k8s.io/apimachinery/pkg/apis/meta/v1 -staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured -staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/validation -staging/src/k8s.io/apimachinery/pkg/apis/meta/v1beta1 -staging/src/k8s.io/apimachinery/pkg/apis/testapigroup -staging/src/k8s.io/apimachinery/pkg/apis/testapigroup/v1 -staging/src/k8s.io/apimachinery/pkg/conversion -staging/src/k8s.io/apimachinery/pkg/runtime -staging/src/k8s.io/apimachinery/pkg/runtime/schema -staging/src/k8s.io/apimachinery/pkg/runtime/serializer -staging/src/k8s.io/apimachinery/pkg/runtime/serializer/recognizer -staging/src/k8s.io/apimachinery/pkg/runtime/serializer/streaming -staging/src/k8s.io/apimachinery/pkg/runtime/testing -staging/src/k8s.io/apimachinery/pkg/selection -staging/src/k8s.io/apimachinery/pkg/test -staging/src/k8s.io/apimachinery/pkg/types -staging/src/k8s.io/apimachinery/pkg/util/errors -staging/src/k8s.io/apimachinery/pkg/util/framer -staging/src/k8s.io/apimachinery/pkg/util/httpstream -staging/src/k8s.io/apimachinery/pkg/util/httpstream/spdy -staging/src/k8s.io/apimachinery/pkg/util/intstr -staging/src/k8s.io/apimachinery/pkg/util/jsonmergepatch -staging/src/k8s.io/apimachinery/pkg/util/mergepatch -staging/src/k8s.io/apimachinery/pkg/util/net -staging/src/k8s.io/apimachinery/pkg/util/proxy -staging/src/k8s.io/apimachinery/pkg/util/rand -staging/src/k8s.io/apimachinery/pkg/util/remotecommand -staging/src/k8s.io/apimachinery/pkg/util/runtime -staging/src/k8s.io/apimachinery/pkg/util/sets/types -staging/src/k8s.io/apimachinery/pkg/util/strategicpatch -staging/src/k8s.io/apimachinery/pkg/util/uuid -staging/src/k8s.io/apimachinery/pkg/util/wait -staging/src/k8s.io/apimachinery/pkg/util/yaml -staging/src/k8s.io/apimachinery/pkg/watch -staging/src/k8s.io/apiserver/pkg/admission -staging/src/k8s.io/apiserver/pkg/admission/configuration -staging/src/k8s.io/apiserver/pkg/admission/initializer -staging/src/k8s.io/apiserver/pkg/admission/plugin/resourcequota/apis/resourcequota/v1 -staging/src/k8s.io/apiserver/pkg/admission/plugin/resourcequota/apis/resourcequota/v1alpha1 -staging/src/k8s.io/apiserver/pkg/admission/plugin/resourcequota/apis/resourcequota/v1beta1 -staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook -staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/config/apis/webhookadmission -staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/config/apis/webhookadmission/v1 -staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/config/apis/webhookadmission/v1alpha1 -staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/testcerts -staging/src/k8s.io/apiserver/pkg/apis/apiserver -staging/src/k8s.io/apiserver/pkg/apis/apiserver/v1 -staging/src/k8s.io/apiserver/pkg/apis/apiserver/v1alpha1 -staging/src/k8s.io/apiserver/pkg/apis/apiserver/v1beta1 -staging/src/k8s.io/apiserver/pkg/apis/audit -staging/src/k8s.io/apiserver/pkg/apis/audit/v1 -staging/src/k8s.io/apiserver/pkg/apis/audit/v1alpha1 -staging/src/k8s.io/apiserver/pkg/apis/audit/v1beta1 -staging/src/k8s.io/apiserver/pkg/apis/config/v1 -staging/src/k8s.io/apiserver/pkg/apis/example -staging/src/k8s.io/apiserver/pkg/apis/example/v1 -staging/src/k8s.io/apiserver/pkg/apis/example2 -staging/src/k8s.io/apiserver/pkg/apis/example2/v1 -staging/src/k8s.io/apiserver/pkg/audit -staging/src/k8s.io/apiserver/pkg/audit/policy -staging/src/k8s.io/apiserver/pkg/authentication/authenticatorfactory -staging/src/k8s.io/apiserver/pkg/authentication/group -staging/src/k8s.io/apiserver/pkg/authentication/request/anonymous -staging/src/k8s.io/apiserver/pkg/authentication/request/bearertoken -staging/src/k8s.io/apiserver/pkg/authentication/request/headerrequest -staging/src/k8s.io/apiserver/pkg/authentication/request/websocket -staging/src/k8s.io/apiserver/pkg/authentication/serviceaccount -staging/src/k8s.io/apiserver/pkg/authentication/token/tokenfile -staging/src/k8s.io/apiserver/pkg/authentication/user -staging/src/k8s.io/apiserver/pkg/authorization/authorizer -staging/src/k8s.io/apiserver/pkg/authorization/authorizerfactory -staging/src/k8s.io/apiserver/pkg/endpoints -staging/src/k8s.io/apiserver/pkg/endpoints/discovery -staging/src/k8s.io/apiserver/pkg/endpoints/filters -staging/src/k8s.io/apiserver/pkg/endpoints/handlers -staging/src/k8s.io/apiserver/pkg/endpoints/metrics -staging/src/k8s.io/apiserver/pkg/endpoints/openapi/testing -staging/src/k8s.io/apiserver/pkg/endpoints/request -staging/src/k8s.io/apiserver/pkg/endpoints/testing -staging/src/k8s.io/apiserver/pkg/features -staging/src/k8s.io/apiserver/pkg/registry/generic -staging/src/k8s.io/apiserver/pkg/registry/generic/registry -staging/src/k8s.io/apiserver/pkg/registry/generic/rest -staging/src/k8s.io/apiserver/pkg/registry/generic/testing -staging/src/k8s.io/apiserver/pkg/registry/rest -staging/src/k8s.io/apiserver/pkg/registry/rest/resttest -staging/src/k8s.io/apiserver/pkg/server -staging/src/k8s.io/apiserver/pkg/server/healthz -staging/src/k8s.io/apiserver/pkg/server/httplog -staging/src/k8s.io/apiserver/pkg/server/options -staging/src/k8s.io/apiserver/pkg/server/storage -staging/src/k8s.io/apiserver/pkg/storage -staging/src/k8s.io/apiserver/pkg/storage/etcd3/testing/testingcert -staging/src/k8s.io/apiserver/pkg/storage/storagebackend -staging/src/k8s.io/apiserver/pkg/storage/testing -staging/src/k8s.io/apiserver/pkg/storage/tests -staging/src/k8s.io/apiserver/pkg/storage/value -staging/src/k8s.io/apiserver/pkg/util/proxy -staging/src/k8s.io/apiserver/pkg/util/webhook -staging/src/k8s.io/apiserver/pkg/util/wsstream -staging/src/k8s.io/apiserver/plugin/pkg/audit/log -staging/src/k8s.io/apiserver/plugin/pkg/authenticator/token/oidc -staging/src/k8s.io/apiserver/plugin/pkg/authenticator/token/tokentest -staging/src/k8s.io/apiserver/plugin/pkg/authenticator/token/webhook -staging/src/k8s.io/apiserver/plugin/pkg/authorizer/webhook -staging/src/k8s.io/cli-runtime/pkg/printers -staging/src/k8s.io/cli-runtime/pkg/resource -staging/src/k8s.io/client-go/discovery -staging/src/k8s.io/client-go/discovery/fake -staging/src/k8s.io/client-go/dynamic -staging/src/k8s.io/client-go/dynamic/fake -staging/src/k8s.io/client-go/kubernetes/typed/certificates/v1beta1 -staging/src/k8s.io/client-go/kubernetes/typed/certificates/v1beta1/fake -staging/src/k8s.io/client-go/kubernetes/typed/core/v1 -staging/src/k8s.io/client-go/kubernetes/typed/core/v1/fake -staging/src/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake -staging/src/k8s.io/client-go/kubernetes/typed/policy/v1beta1/fake -staging/src/k8s.io/client-go/metadata/fake -staging/src/k8s.io/client-go/rest -staging/src/k8s.io/client-go/rest/fake -staging/src/k8s.io/client-go/rest/watch -staging/src/k8s.io/client-go/scale -staging/src/k8s.io/client-go/scale/fake -staging/src/k8s.io/client-go/scale/scheme/appsv1beta1 -staging/src/k8s.io/client-go/scale/scheme/appsv1beta2 -staging/src/k8s.io/client-go/scale/scheme/autoscalingv1 -staging/src/k8s.io/client-go/scale/scheme/extensionsv1beta1 -staging/src/k8s.io/client-go/scale/scheme/extensionsv1beta1 -staging/src/k8s.io/client-go/testing -staging/src/k8s.io/client-go/tools/cache/testing -staging/src/k8s.io/client-go/tools/clientcmd -staging/src/k8s.io/client-go/tools/clientcmd/api -staging/src/k8s.io/client-go/tools/clientcmd/api/latest -staging/src/k8s.io/client-go/tools/clientcmd/api/v1 -staging/src/k8s.io/client-go/tools/leaderelection -staging/src/k8s.io/client-go/tools/leaderelection/resourcelock -staging/src/k8s.io/client-go/tools/record -staging/src/k8s.io/client-go/tools/reference -staging/src/k8s.io/client-go/util/exec -staging/src/k8s.io/client-go/util/flowcontrol -staging/src/k8s.io/client-go/util/jsonpath -staging/src/k8s.io/client-go/util/retry -staging/src/k8s.io/client-go/util/testing -staging/src/k8s.io/client-go/util/workqueue -staging/src/k8s.io/cloud-provider -staging/src/k8s.io/cloud-provider/config/v1alpha1 -staging/src/k8s.io/cloud-provider/controllers/node -staging/src/k8s.io/cloud-provider/controllers/nodelifecycle -staging/src/k8s.io/cloud-provider/controllers/route -staging/src/k8s.io/cloud-provider/controllers/service/config/v1alpha1 -staging/src/k8s.io/code-generator/cmd/client-gen/args -staging/src/k8s.io/code-generator/cmd/client-gen/generators/fake -staging/src/k8s.io/code-generator/cmd/client-gen/generators/scheme -staging/src/k8s.io/code-generator/cmd/client-gen/types -staging/src/k8s.io/code-generator/cmd/conversion-gen/generators -staging/src/k8s.io/code-generator/cmd/go-to-protobuf/protobuf -staging/src/k8s.io/code-generator/cmd/lister-gen/generators -staging/src/k8s.io/code-generator/examples/HyphenGroup/apis/example/v1 -staging/src/k8s.io/code-generator/examples/MixedCase/apis/example/v1 -staging/src/k8s.io/code-generator/examples/apiserver/apis/example -staging/src/k8s.io/code-generator/examples/apiserver/apis/example/v1 -staging/src/k8s.io/code-generator/examples/apiserver/apis/example2 -staging/src/k8s.io/code-generator/examples/apiserver/apis/example2/v1 -staging/src/k8s.io/code-generator/examples/apiserver/apis/example3.io -staging/src/k8s.io/code-generator/examples/apiserver/apis/example3.io/v1 -staging/src/k8s.io/code-generator/examples/crd/apis/example/v1 -staging/src/k8s.io/code-generator/examples/crd/apis/example2/v1 -staging/src/k8s.io/component-base/cli/flag -staging/src/k8s.io/component-base/config/v1alpha1 -staging/src/k8s.io/component-base/featuregate -staging/src/k8s.io/component-base/version/verflag -staging/src/k8s.io/component-helpers/auth/rbac/reconciliation -staging/src/k8s.io/component-helpers/auth/rbac/validation -staging/src/k8s.io/controller-manager/config/v1alpha1 -staging/src/k8s.io/controller-manager/pkg/features -staging/src/k8s.io/kube-aggregator/pkg/apis/apiregistration/v1 -staging/src/k8s.io/kube-aggregator/pkg/apis/apiregistration/v1beta1 -staging/src/k8s.io/kube-aggregator/pkg/apiserver -staging/src/k8s.io/kube-aggregator/pkg/controllers/autoregister -staging/src/k8s.io/kubectl/pkg/cmd/annotate -staging/src/k8s.io/kubectl/pkg/cmd/apply -staging/src/k8s.io/kubectl/pkg/cmd/attach -staging/src/k8s.io/kubectl/pkg/cmd/autoscale -staging/src/k8s.io/kubectl/pkg/cmd/clusterinfo -staging/src/k8s.io/kubectl/pkg/cmd/create -staging/src/k8s.io/kubectl/pkg/cmd/debug -staging/src/k8s.io/kubectl/pkg/cmd/delete -staging/src/k8s.io/kubectl/pkg/cmd/describe -staging/src/k8s.io/kubectl/pkg/cmd/diff -staging/src/k8s.io/kubectl/pkg/cmd/drain -staging/src/k8s.io/kubectl/pkg/cmd/exec -staging/src/k8s.io/kubectl/pkg/cmd/explain -staging/src/k8s.io/kubectl/pkg/cmd/expose -staging/src/k8s.io/kubectl/pkg/cmd/get -staging/src/k8s.io/kubectl/pkg/cmd/label -staging/src/k8s.io/kubectl/pkg/cmd/logs -staging/src/k8s.io/kubectl/pkg/cmd/patch -staging/src/k8s.io/kubectl/pkg/cmd/plugin -staging/src/k8s.io/kubectl/pkg/cmd/portforward -staging/src/k8s.io/kubectl/pkg/cmd/proxy -staging/src/k8s.io/kubectl/pkg/cmd/replace -staging/src/k8s.io/kubectl/pkg/cmd/rollout -staging/src/k8s.io/kubectl/pkg/cmd/run -staging/src/k8s.io/kubectl/pkg/cmd/scale -staging/src/k8s.io/kubectl/pkg/cmd/set -staging/src/k8s.io/kubectl/pkg/cmd/taint -staging/src/k8s.io/kubectl/pkg/cmd/testing -staging/src/k8s.io/kubectl/pkg/cmd/top -staging/src/k8s.io/kubectl/pkg/cmd/util -staging/src/k8s.io/kubectl/pkg/cmd/wait -staging/src/k8s.io/kubectl/pkg/describe -staging/src/k8s.io/kubectl/pkg/generate -staging/src/k8s.io/kubectl/pkg/generate/versioned -staging/src/k8s.io/kubectl/pkg/metricsutil -staging/src/k8s.io/kubectl/pkg/polymorphichelpers -staging/src/k8s.io/kubectl/pkg/scale -staging/src/k8s.io/kubectl/pkg/util/templates -staging/src/k8s.io/kubelet/config/v1beta1 -staging/src/k8s.io/kubelet/pkg/apis/credentialprovider -staging/src/k8s.io/kubelet/pkg/apis/credentialprovider/v1alpha1 -staging/src/k8s.io/legacy-cloud-providers/vsphere -staging/src/k8s.io/metrics/pkg/apis/custom_metrics -staging/src/k8s.io/metrics/pkg/apis/custom_metrics/v1beta1 -staging/src/k8s.io/metrics/pkg/apis/external_metrics -staging/src/k8s.io/metrics/pkg/client/custom_metrics -staging/src/k8s.io/metrics/pkg/client/custom_metrics/fake -staging/src/k8s.io/metrics/pkg/client/external_metrics -staging/src/k8s.io/metrics/pkg/client/external_metrics/fake -staging/src/k8s.io/mount-utils -staging/src/k8s.io/sample-apiserver/pkg/admission/wardleinitializer -staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1 -staging/src/k8s.io/sample-apiserver/pkg/registry/wardle/fischer -staging/src/k8s.io/sample-apiserver/pkg/registry/wardle/flunder -test/e2e/common -test/utils diff --git a/hack/verify-golint.sh b/hack/verify-golint.sh deleted file mode 100755 index bbed8ceeb89..00000000000 --- a/hack/verify-golint.sh +++ /dev/null @@ -1,134 +0,0 @@ -#!/usr/bin/env bash - -# Copyright 2014 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This script checks coding style for go language files in each -# Kubernetes package by golint. -# Usage: `hack/verify-golint.sh`. - -set -o errexit -set -o nounset -set -o pipefail - -KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/.. -source "${KUBE_ROOT}/hack/lib/init.sh" -source "${KUBE_ROOT}/hack/lib/util.sh" - -kube::golang::verify_go_version - - -# Ensure that we find the binaries we build before anything else. -export GOBIN="${KUBE_OUTPUT_BINPATH}" -PATH="${GOBIN}:${PATH}" - -# Install golint -echo 'installing golint' -pushd "${KUBE_ROOT}/hack/tools" >/dev/null - GO111MODULE=on go install golang.org/x/lint/golint -popd >/dev/null - - -cd "${KUBE_ROOT}" - -# Check that the file is in alphabetical order -failure_file="${KUBE_ROOT}/hack/.golint_failures" -kube::util::check-file-in-alphabetical-order "${failure_file}" - -export IFS=$'\n' -# NOTE: when "go list -e ./..." is run within GOPATH, it turns the k8s.io/kubernetes -# as the prefix, however if we run it outside it returns the full path of the file -# with a leading underscore. We'll need to support both scenarios for all_packages. -all_packages=() -while IFS='' read -r line; do all_packages+=("$line"); done < <(go list -e ./... | grep -vE "/(third_party|vendor|staging/src/k8s.io/client-go/pkg|generated|clientset_generated)" | sed -e 's|^k8s.io/kubernetes/||' -e "s|^_\(${KUBE_ROOT}/\)\{0,1\}||") -# The regex below removes any "#" character and anything behind it and including any -# whitespace before it. Then it removes empty lines. -failing_packages=() -while IFS='' read -r line; do failing_packages+=("$line"); done < <(sed -e 's/[[:blank:]]*#.*//' -e '/^$/d' "$failure_file") -unset IFS -errors=() -not_failing=() -for p in "${all_packages[@]}"; do - # Run golint on package/*.go file explicitly to validate all go files - # and not just the ones for the current platform. This also will ensure that - # _test.go files are linted. - # Generated files are ignored, and each file is passed through golint - # individually, as if one file in the package contains a fatal error (such as - # a foo package with a corresponding foo_test package), golint seems to choke - # completely. - # Ref: https://github.com/kubernetes/kubernetes/pull/67675 - # Ref: https://github.com/golang/lint/issues/68 - - files=$(find "$p"/*.go \ - | grep -vE "(zz_generated.*.go|generated.pb.go|generated.proto|types_swagger_doc_generated.go)" || true) - if [ -z "${files}" ]; then - continue - fi - failedLint=$(echo "${files}" | xargs -L1 golint 2>/dev/null) - kube::util::array_contains "$p" "${failing_packages[@]}" && in_failing=$? || in_failing=$? - if [[ -n "${failedLint}" ]] && [[ "${in_failing}" -ne "0" ]]; then - errors+=( "${failedLint}" ) - fi - if [[ -z "${failedLint}" ]] && [[ "${in_failing}" -eq "0" ]]; then - not_failing+=( "$p" ) - fi -done - -# Check that all failing_packages actually still exist -gone=() -for p in "${failing_packages[@]}"; do - kube::util::array_contains "$p" "${all_packages[@]}" || gone+=( "$p" ) -done - -# Check to be sure all the packages that should pass lint are. -if [ ${#errors[@]} -eq 0 ]; then - echo 'Congratulations! All Go source files have been linted.' -else - { - echo "Errors from golint:" - for err in "${errors[@]}"; do - echo "$err" - done - echo - echo 'Please review the above warnings. You can test via "golint" and commit the result.' - echo 'If the above warnings do not make sense, you can exempt this package from golint' - echo 'checking by adding it to hack/.golint_failures (if your reviewer is okay with it).' - echo - } >&2 - exit 1 -fi - -if [[ ${#not_failing[@]} -gt 0 ]]; then - { - echo "Some packages in hack/.golint_failures are passing golint. Please remove them." - echo - for p in "${not_failing[@]}"; do - echo " $p" - done - echo - } >&2 - exit 1 -fi - -if [[ ${#gone[@]} -gt 0 ]]; then - { - echo "Some packages in hack/.golint_failures do not exist anymore. Please remove them." - echo - for p in "${gone[@]}"; do - echo " $p" - done - echo - } >&2 - exit 1 -fi From 02eaf0f23d0e0b6d7e9c102990cf32d540042404 Mon Sep 17 00:00:00 2001 From: Davanum Srinivas Date: Thu, 14 Jan 2021 09:34:23 -0500 Subject: [PATCH 2/2] remove references to golint in hack/tools Signed-off-by: Davanum Srinivas --- hack/tools/Makefile | 4 ---- hack/tools/go.mod | 1 - hack/tools/tools.go | 1 - 3 files changed, 6 deletions(-) diff --git a/hack/tools/Makefile b/hack/tools/Makefile index a68ba568b4c..d0daf82817f 100644 --- a/hack/tools/Makefile +++ b/hack/tools/Makefile @@ -18,7 +18,6 @@ GOBIN ?= $(shell go env GOPATH)/bin DEP_PROGS=\ $(GOBIN)/buildozer\ $(GOBIN)/gazelle\ - $(GOBIN)/golint\ $(GOBIN)/gotestsum\ $(GOBIN)/kazel\ $(GOBIN)/misspell\ @@ -46,9 +45,6 @@ $(GOBIN)/buildozer: deps $(GOBIN)/gazelle: deps go install github.com/bazelbuild/bazel-gazelle/cmd/gazelle -$(GOBIN)/golint: deps - go install golang.org/x/lint/golint - $(GOBIN)/gotestsum: deps go install gotest.tools/gotestsum diff --git a/hack/tools/go.mod b/hack/tools/go.mod index 5161dde0f6f..e95320bb46b 100644 --- a/hack/tools/go.mod +++ b/hack/tools/go.mod @@ -8,7 +8,6 @@ require ( github.com/cespare/prettybench v0.0.0-20150116022406-03b8cfe5406c github.com/client9/misspell v0.3.4 github.com/google/go-flow-levee v0.1.4-0.20201102181719-72c65d71b1d3 - golang.org/x/lint v0.0.0-20200302205851-738671d3881b gotest.tools v2.2.0+incompatible gotest.tools/gotestsum v0.3.5 honnef.co/go/tools v0.0.1-2020.1.4 diff --git a/hack/tools/tools.go b/hack/tools/tools.go index 9a182289a85..ed83ce807cb 100644 --- a/hack/tools/tools.go +++ b/hack/tools/tools.go @@ -22,7 +22,6 @@ import ( // linting tools _ "github.com/client9/misspell/cmd/misspell" _ "github.com/google/go-flow-levee/cmd/levee" - _ "golang.org/x/lint/golint" _ "honnef.co/go/tools/cmd/staticcheck" // benchmarking tools