diff --git a/scripts/test_lib.sh b/scripts/test_lib.sh index 41e9a5e15311..8303d1643f5e 100644 --- a/scripts/test_lib.sh +++ b/scripts/test_lib.sh @@ -166,7 +166,7 @@ function run_for_module { } function module_dirs() { - echo "api pkg client/pkg client/internal/v2 client/v3 server etcdutl etcdctl tests tools/rw-heatmaps tools/testgrid-analysis ." + echo "api pkg client/pkg client/internal/v2 client/v3 server etcdutl etcdctl tests tools/mod tools/rw-heatmaps tools/testgrid-analysis ." } # maybe_run [cmd...] runs given command depending on the DRY_RUN flag. diff --git a/tools/mod/libs.go b/tools/mod/libs.go index 48d537e2dc05..fd392d55a9f7 100644 --- a/tools/mod/libs.go +++ b/tools/mod/libs.go @@ -15,7 +15,7 @@ //go:build libs // This file implements that pattern: -// https://github.com/golang/go/wiki/Modules#how-can-i-track-tool-dependencies-for-a-module +// https://go.dev/wiki/Modules#how-can-i-track-tool-dependencies-for-a-module // for etcd. Thanks to this file 'go mod tidy' does not removes dependencies. package libs diff --git a/tools/mod/mod.go b/tools/mod/mod.go new file mode 100644 index 000000000000..17fdd1750a32 --- /dev/null +++ b/tools/mod/mod.go @@ -0,0 +1,23 @@ +// Copyright 2024 The etcd 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. + +package mod + +// As this directory implements the pattern for tracking tool dependencies as documented here: +// https://go.dev/wiki/Modules#how-can-i-track-tool-dependencies-for-a-module +// it doesn't contain any valid Go code directly. + +// This would break scripts for unit testing and coverage calculation. However, +// to ensure tools like golangci-lint and go test run normally and perform go mod checks, +// we've added this empty file. diff --git a/tools/mod/tools.go b/tools/mod/tools.go index 72afb804501d..ce9af7751784 100644 --- a/tools/mod/tools.go +++ b/tools/mod/tools.go @@ -15,7 +15,7 @@ //go:build tools // This file implements that pattern: -// https://github.com/golang/go/wiki/Modules#how-can-i-track-tool-dependencies-for-a-module +// https://go.dev/wiki/Modules#how-can-i-track-tool-dependencies-for-a-module // for etcd. Thanks to this file 'go mod tidy' does not removes dependencies. package tools