diff --git a/cmd/dependencyverifier/dependencyverifier.go b/cmd/dependencyverifier/dependencyverifier.go index 33ac293fa3b..b6557979863 100644 --- a/cmd/dependencyverifier/dependencyverifier.go +++ b/cmd/dependencyverifier/dependencyverifier.go @@ -26,7 +26,7 @@ import ( "sort" "strings" - "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp" //nolint:depguard ) type Unwanted struct { diff --git a/hack/golangci-hints.yaml b/hack/golangci-hints.yaml index c63ff78954a..05a29b82c98 100644 --- a/hack/golangci-hints.yaml +++ b/hack/golangci-hints.yaml @@ -91,6 +91,7 @@ issues: linters: disable-all: false enable: # please keep this alphabetized + - depguard - forbidigo - ginkgolinter - gocritic @@ -176,6 +177,16 @@ linters-settings: # please keep this alphabetized # this restriction. Whether we then do a global search/replace remains # to be decided. with-helpers .* + depguard: + rules: + main: + files: + - $all + - "!$test" + - "!**/test/**" + deny: + - pkg: "github.com/google/go-cmp/cmp" + desc: "cmp is allowed only in test files" forbidigo: analyze-types: true forbid: diff --git a/hack/golangci-strict.yaml b/hack/golangci-strict.yaml index 4db67b871e7..5340a783396 100644 --- a/hack/golangci-strict.yaml +++ b/hack/golangci-strict.yaml @@ -135,6 +135,7 @@ issues: linters: disable-all: false enable: # please keep this alphabetized + - depguard - forbidigo - ginkgolinter - gocritic @@ -222,6 +223,16 @@ linters-settings: # please keep this alphabetized # this restriction. Whether we then do a global search/replace remains # to be decided. with-helpers .* + depguard: + rules: + main: + files: + - $all + - "!$test" + - "!**/test/**" + deny: + - pkg: "github.com/google/go-cmp/cmp" + desc: "cmp is allowed only in test files" forbidigo: analyze-types: true forbid: diff --git a/hack/golangci.yaml b/hack/golangci.yaml index 2909f0d3ef1..9f27e6a2d4e 100644 --- a/hack/golangci.yaml +++ b/hack/golangci.yaml @@ -141,6 +141,7 @@ issues: linters: disable-all: true enable: # please keep this alphabetized + - depguard - forbidigo - ginkgolinter - gocritic @@ -224,6 +225,16 @@ linters-settings: # please keep this alphabetized # this restriction. Whether we then do a global search/replace remains # to be decided. with-helpers .* + depguard: + rules: + main: + files: + - $all + - "!$test" + - "!**/test/**" + deny: + - pkg: "github.com/google/go-cmp/cmp" + desc: "cmp is allowed only in test files" forbidigo: analyze-types: true forbid: diff --git a/hack/golangci.yaml.in b/hack/golangci.yaml.in index 7dcae86f2d6..7fa3b5b0843 100644 --- a/hack/golangci.yaml.in +++ b/hack/golangci.yaml.in @@ -147,6 +147,7 @@ issues: linters: disable-all: {{if .Base -}} true {{- else -}} false {{- end}} enable: # please keep this alphabetized + - depguard - forbidigo - ginkgolinter - gocritic @@ -180,6 +181,16 @@ linters-settings: # please keep this alphabetized settings: config: | {{include "hack/logcheck.conf" | indent 10 | trim}} + depguard: + rules: + main: + files: + - $all + - "!$test" + - "!**/test/**" + deny: + - pkg: "github.com/google/go-cmp/cmp" + desc: "cmp is allowed only in test files" forbidigo: analyze-types: true forbid: diff --git a/pkg/api/pod/util.go b/pkg/api/pod/util.go index 7cae53daad2..0dcaff3bd8f 100644 --- a/pkg/api/pod/util.go +++ b/pkg/api/pod/util.go @@ -19,7 +19,7 @@ package pod import ( "strings" - "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp" //nolint:depguard metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metavalidation "k8s.io/apimachinery/pkg/apis/meta/v1/validation" "k8s.io/apimachinery/pkg/util/sets" diff --git a/pkg/apis/certificates/validation/validation.go b/pkg/apis/certificates/validation/validation.go index 750a9748e40..f0d6b167af8 100644 --- a/pkg/apis/certificates/validation/validation.go +++ b/pkg/apis/certificates/validation/validation.go @@ -22,7 +22,7 @@ import ( "encoding/pem" "fmt" - "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp" //nolint:depguard v1 "k8s.io/api/core/v1" apiequality "k8s.io/apimachinery/pkg/api/equality" "k8s.io/apimachinery/pkg/util/sets" diff --git a/pkg/apis/core/validation/validation.go b/pkg/apis/core/validation/validation.go index 69b92653167..179a7b0900b 100644 --- a/pkg/apis/core/validation/validation.go +++ b/pkg/apis/core/validation/validation.go @@ -30,7 +30,7 @@ import ( "unicode" "unicode/utf8" - "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp" //nolint:depguard netutils "k8s.io/utils/net" v1 "k8s.io/api/core/v1" diff --git a/pkg/controller/volume/persistentvolume/testing/testing.go b/pkg/controller/volume/persistentvolume/testing/testing.go index c37a18aac47..4a7e9b53026 100644 --- a/pkg/controller/volume/persistentvolume/testing/testing.go +++ b/pkg/controller/volume/persistentvolume/testing/testing.go @@ -24,7 +24,7 @@ import ( "strconv" "sync" - "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp" //nolint:depguard "k8s.io/klog/v2" v1 "k8s.io/api/core/v1" diff --git a/pkg/kubelet/status/status_manager.go b/pkg/kubelet/status/status_manager.go index 3da131d5392..f314e26a9c5 100644 --- a/pkg/kubelet/status/status_manager.go +++ b/pkg/kubelet/status/status_manager.go @@ -25,7 +25,7 @@ import ( "sync" "time" - "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp" //nolint:depguard clientset "k8s.io/client-go/kubernetes" v1 "k8s.io/api/core/v1" diff --git a/pkg/registry/flowcontrol/ensurer/strategy.go b/pkg/registry/flowcontrol/ensurer/strategy.go index 26eec036071..9b025424237 100644 --- a/pkg/registry/flowcontrol/ensurer/strategy.go +++ b/pkg/registry/flowcontrol/ensurer/strategy.go @@ -21,7 +21,7 @@ import ( "fmt" "strconv" - "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp" //nolint:depguard flowcontrolv1 "k8s.io/api/flowcontrol/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/pkg/scheduler/framework/interface.go b/pkg/scheduler/framework/interface.go index 433de93f2ad..536adf66863 100644 --- a/pkg/scheduler/framework/interface.go +++ b/pkg/scheduler/framework/interface.go @@ -26,8 +26,8 @@ import ( "sync" "time" - "github.com/google/go-cmp/cmp" - "github.com/google/go-cmp/cmp/cmpopts" + "github.com/google/go-cmp/cmp" //nolint:depguard + "github.com/google/go-cmp/cmp/cmpopts" //nolint:depguard v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/types" diff --git a/pkg/scheduler/framework/plugins/dynamicresources/dynamicresources.go b/pkg/scheduler/framework/plugins/dynamicresources/dynamicresources.go index bc8537e8118..1cf9e21ba82 100644 --- a/pkg/scheduler/framework/plugins/dynamicresources/dynamicresources.go +++ b/pkg/scheduler/framework/plugins/dynamicresources/dynamicresources.go @@ -23,7 +23,7 @@ import ( "slices" "sync" - "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp" //nolint:depguard v1 "k8s.io/api/core/v1" resourceapi "k8s.io/api/resource/v1beta1" diff --git a/pkg/scheduler/framework/plugins/noderesources/fit.go b/pkg/scheduler/framework/plugins/noderesources/fit.go index cd464dd5121..4bf7943e4a7 100644 --- a/pkg/scheduler/framework/plugins/noderesources/fit.go +++ b/pkg/scheduler/framework/plugins/noderesources/fit.go @@ -21,7 +21,7 @@ import ( "fmt" "strings" - "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp" //nolint:depguard v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/runtime" diff --git a/pkg/scheduler/framework/plugins/noderesources/test_util.go b/pkg/scheduler/framework/plugins/noderesources/test_util.go index 183306871cb..fd4345117b8 100644 --- a/pkg/scheduler/framework/plugins/noderesources/test_util.go +++ b/pkg/scheduler/framework/plugins/noderesources/test_util.go @@ -17,7 +17,7 @@ limitations under the License. package noderesources import ( - "github.com/google/go-cmp/cmp/cmpopts" + "github.com/google/go-cmp/cmp/cmpopts" //nolint:depguard v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" diff --git a/pkg/scheduler/profile/profile.go b/pkg/scheduler/profile/profile.go index 692104abef7..9cd510d35ee 100644 --- a/pkg/scheduler/profile/profile.go +++ b/pkg/scheduler/profile/profile.go @@ -22,7 +22,7 @@ import ( "errors" "fmt" - "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp" //nolint:depguard "k8s.io/apimachinery/pkg/runtime" "k8s.io/client-go/kubernetes/scheme" diff --git a/plugin/pkg/admission/noderestriction/admission.go b/plugin/pkg/admission/noderestriction/admission.go index 81fdfafdf22..6a69b691605 100644 --- a/plugin/pkg/admission/noderestriction/admission.go +++ b/plugin/pkg/admission/noderestriction/admission.go @@ -23,7 +23,7 @@ import ( "io" "strings" - "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp" //nolint:depguard v1 "k8s.io/api/core/v1" apiequality "k8s.io/apimachinery/pkg/api/equality" diff --git a/staging/src/k8s.io/apimachinery/pkg/api/apitesting/roundtrip/compatibility.go b/staging/src/k8s.io/apimachinery/pkg/api/apitesting/roundtrip/compatibility.go index 76ce9e2426f..8bd8eacb5ab 100644 --- a/staging/src/k8s.io/apimachinery/pkg/api/apitesting/roundtrip/compatibility.go +++ b/staging/src/k8s.io/apimachinery/pkg/api/apitesting/roundtrip/compatibility.go @@ -28,7 +28,7 @@ import ( "strings" "testing" - "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp" //nolint:depguard apiequality "k8s.io/apimachinery/pkg/api/equality" "k8s.io/apimachinery/pkg/runtime" diff --git a/staging/src/k8s.io/apimachinery/pkg/api/apitesting/roundtrip/roundtrip.go b/staging/src/k8s.io/apimachinery/pkg/api/apitesting/roundtrip/roundtrip.go index 670e741f950..2ebcf37e284 100644 --- a/staging/src/k8s.io/apimachinery/pkg/api/apitesting/roundtrip/roundtrip.go +++ b/staging/src/k8s.io/apimachinery/pkg/api/apitesting/roundtrip/roundtrip.go @@ -24,7 +24,7 @@ import ( "strings" "testing" - "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp" //nolint:depguard fuzz "github.com/google/gofuzz" flag "github.com/spf13/pflag" diff --git a/staging/src/k8s.io/apimachinery/pkg/api/apitesting/roundtrip/unstructured.go b/staging/src/k8s.io/apimachinery/pkg/api/apitesting/roundtrip/unstructured.go index de10580f5df..d45ba26687a 100644 --- a/staging/src/k8s.io/apimachinery/pkg/api/apitesting/roundtrip/unstructured.go +++ b/staging/src/k8s.io/apimachinery/pkg/api/apitesting/roundtrip/unstructured.go @@ -37,7 +37,7 @@ import ( jsonserializer "k8s.io/apimachinery/pkg/runtime/serializer/json" "k8s.io/apimachinery/pkg/util/sets" - "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp" //nolint:depguard ) // RoundtripToUnstructured verifies the roundtrip faithfulness of all external types in a scheme diff --git a/staging/src/k8s.io/apimachinery/pkg/util/diff/diff.go b/staging/src/k8s.io/apimachinery/pkg/util/diff/diff.go index fc030184490..38b666ef59d 100644 --- a/staging/src/k8s.io/apimachinery/pkg/util/diff/diff.go +++ b/staging/src/k8s.io/apimachinery/pkg/util/diff/diff.go @@ -23,7 +23,7 @@ import ( "strings" "text/tabwriter" - "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp" //nolint:depguard "k8s.io/apimachinery/pkg/util/dump" ) diff --git a/staging/src/k8s.io/apiserver/pkg/admission/testing/helpers.go b/staging/src/k8s.io/apiserver/pkg/admission/testing/helpers.go index 76dea6d5c61..cd1a165281c 100644 --- a/staging/src/k8s.io/apiserver/pkg/admission/testing/helpers.go +++ b/staging/src/k8s.io/apiserver/pkg/admission/testing/helpers.go @@ -21,7 +21,7 @@ import ( "reflect" "testing" - "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp" //nolint:depguard apiequality "k8s.io/apimachinery/pkg/api/equality" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apiserver/pkg/admission" diff --git a/staging/src/k8s.io/apiserver/pkg/endpoints/discovery/aggregated/fake.go b/staging/src/k8s.io/apiserver/pkg/endpoints/discovery/aggregated/fake.go index e3c7fcfa7e5..4146dc01164 100644 --- a/staging/src/k8s.io/apiserver/pkg/endpoints/discovery/aggregated/fake.go +++ b/staging/src/k8s.io/apiserver/pkg/endpoints/discovery/aggregated/fake.go @@ -25,7 +25,7 @@ import ( "time" "github.com/emicklei/go-restful/v3" - "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp" //nolint:depguard apidiscoveryv2 "k8s.io/api/apidiscovery/v2" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/wait" diff --git a/staging/src/k8s.io/apiserver/pkg/storage/testing/store_tests.go b/staging/src/k8s.io/apiserver/pkg/storage/testing/store_tests.go index c70d774c0fd..be21005223b 100644 --- a/staging/src/k8s.io/apiserver/pkg/storage/testing/store_tests.go +++ b/staging/src/k8s.io/apiserver/pkg/storage/testing/store_tests.go @@ -28,7 +28,7 @@ import ( "sync" "testing" - "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp" //nolint:depguard apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" diff --git a/staging/src/k8s.io/apiserver/pkg/storage/testing/utils.go b/staging/src/k8s.io/apiserver/pkg/storage/testing/utils.go index 2e107a23700..b1e9316582f 100644 --- a/staging/src/k8s.io/apiserver/pkg/storage/testing/utils.go +++ b/staging/src/k8s.io/apiserver/pkg/storage/testing/utils.go @@ -27,7 +27,7 @@ import ( "testing" "time" - "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp" //nolint:depguard "k8s.io/apimachinery/pkg/api/meta" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" diff --git a/staging/src/k8s.io/apiserver/pkg/util/flowcontrol/apf_controller.go b/staging/src/k8s.io/apiserver/pkg/util/flowcontrol/apf_controller.go index c707884e133..652ef57abb8 100644 --- a/staging/src/k8s.io/apiserver/pkg/util/flowcontrol/apf_controller.go +++ b/staging/src/k8s.io/apiserver/pkg/util/flowcontrol/apf_controller.go @@ -28,7 +28,7 @@ import ( "sync" "time" - "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp" //nolint:depguard apiequality "k8s.io/apimachinery/pkg/api/equality" apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/staging/src/k8s.io/client-go/util/consistencydetector/data_consistency_detector.go b/staging/src/k8s.io/client-go/util/consistencydetector/data_consistency_detector.go index b33d08032fa..72a871d434b 100644 --- a/staging/src/k8s.io/client-go/util/consistencydetector/data_consistency_detector.go +++ b/staging/src/k8s.io/client-go/util/consistencydetector/data_consistency_detector.go @@ -22,7 +22,7 @@ import ( "sort" "time" - "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp" //nolint:depguard "k8s.io/apimachinery/pkg/api/meta" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/staging/src/k8s.io/component-base/config/testing/helpers.go b/staging/src/k8s.io/component-base/config/testing/helpers.go index 8f1fcc8fb9b..1b923335567 100644 --- a/staging/src/k8s.io/component-base/config/testing/helpers.go +++ b/staging/src/k8s.io/component-base/config/testing/helpers.go @@ -23,7 +23,7 @@ import ( "path/filepath" "testing" - "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp" //nolint:depguard "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/runtime/serializer" diff --git a/staging/src/k8s.io/component-base/config/testing/roundtrip.go b/staging/src/k8s.io/component-base/config/testing/roundtrip.go index b40efee82e0..fa0b8757323 100644 --- a/staging/src/k8s.io/component-base/config/testing/roundtrip.go +++ b/staging/src/k8s.io/component-base/config/testing/roundtrip.go @@ -22,7 +22,7 @@ import ( "path/filepath" "testing" - "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp" //nolint:depguard apiequality "k8s.io/apimachinery/pkg/api/equality" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" diff --git a/staging/src/k8s.io/component-base/logs/api/v1/options.go b/staging/src/k8s.io/component-base/logs/api/v1/options.go index 754443bf6fd..c328e6e1e22 100644 --- a/staging/src/k8s.io/component-base/logs/api/v1/options.go +++ b/staging/src/k8s.io/component-base/logs/api/v1/options.go @@ -27,7 +27,7 @@ import ( "sync/atomic" "time" - "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp" //nolint:depguard "github.com/spf13/pflag" "k8s.io/klog/v2" diff --git a/staging/src/k8s.io/dynamic-resource-allocation/resourceslice/resourceslicecontroller.go b/staging/src/k8s.io/dynamic-resource-allocation/resourceslice/resourceslicecontroller.go index 3a743057569..9d937bca73b 100644 --- a/staging/src/k8s.io/dynamic-resource-allocation/resourceslice/resourceslicecontroller.go +++ b/staging/src/k8s.io/dynamic-resource-allocation/resourceslice/resourceslicecontroller.go @@ -24,7 +24,7 @@ import ( "sync/atomic" "time" - "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp" //nolint:depguard v1 "k8s.io/api/core/v1" resourceapi "k8s.io/api/resource/v1beta1"