...
1#!/usr/bin/env bash
2
3# Copyright 2020 The Kubernetes Authors.
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17set -o errexit
18set -o nounset
19set -o pipefail
20
21KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
22source "${KUBE_ROOT}/hack/lib/init.sh"
23
24# These are "internal" modules. For various reasons, we want them to be
25# decoupled from their parent modules.
26MODULES=()
27kube::util::read-array MODULES < <(
28 git ls-files -cmo --exclude-standard -- ':!:vendor/*' ':(glob)*/**/go.work' \
29 | while read -r F; do \
30 dirname "${F}"; \
31 done
32 )
33
34# Detect problematic GOPROXY settings that prevent lookup of dependencies
35if [[ "${GOPROXY:-}" == "off" ]]; then
36 kube::log::error "Cannot run hack/update-internal-modules.sh with \$GOPROXY=off"
37 exit 1
38fi
39
40kube::golang::setup_env
41
42for mod in "${MODULES[@]}"; do
43 echo "=== tidying go.mod/go.sum in ${mod}"
44 go -C "${KUBE_ROOT}/${mod}" mod edit -fmt
45 go -C "${KUBE_ROOT}/${mod}" mod tidy
46done
View as plain text