cleanup update-mocks.sh

- remove unused tempdir
- use mktemp instead of creating tmpfile in repo
- normalize indent
This commit is contained in:
Benjamin Elder 2023-04-21 14:11:49 -07:00
parent 726992f9db
commit 4d736a0435

View File

@ -26,16 +26,6 @@ source "${KUBE_ROOT}/hack/lib/init.sh"
# Explicitly opt into go modules, even though we're inside a GOPATH directory # Explicitly opt into go modules, even though we're inside a GOPATH directory
export GO111MODULE=on export GO111MODULE=on
_tmp="${KUBE_ROOT}/_tmp_build_tag_files"
mkdir -p "${_tmp}"
function cleanup {
rm -rf "$_tmp"
rm -f "tempfile"
}
trap cleanup EXIT
kube::golang::verify_go_version kube::golang::verify_go_version
kube::golang::setup_env kube::golang::setup_env
@ -45,22 +35,26 @@ pushd "${KUBE_ROOT}/hack/tools" >/dev/null
popd >/dev/null popd >/dev/null
function git_find() { function git_find() {
# Similar to find but faster and easier to understand. We want to include # Similar to find but faster and easier to understand. We want to include
# modified and untracked files because this might be running against code # modified and untracked files because this might be running against code
# which is not tracked by git yet. # which is not tracked by git yet.
git ls-files -cmo --exclude-standard \ git ls-files -cmo --exclude-standard \
':!:vendor/*' `# catches vendor/...` \ ':!:vendor/*' `# catches vendor/...` \
':!:*/vendor/*' `# catches any subdir/vendor/...` \ ':!:*/vendor/*' `# catches any subdir/vendor/...` \
':!:third_party/*' `# catches third_party/...` \ ':!:third_party/*' `# catches third_party/...` \
':!:*/third_party/*' `# catches third_party/...` \ ':!:*/third_party/*' `# catches third_party/...` \
':!:*/testdata/*' \ ':!:*/testdata/*' \
"$@" "$@"
} }
cd "${KUBE_ROOT}" cd "${KUBE_ROOT}"
GENERATED_MOCK_FILE_REGEX="^// Code generated by MockGen. DO NOT EDIT.$" GENERATED_MOCK_FILE_REGEX="^// Code generated by MockGen. DO NOT EDIT.$"
# pick a tempfile path for writing to
tmp=$(mktemp)
kube::util::trap_add "rm -f ${tmp:?}" EXIT
# We use this pattern here rather than `git grep` because we don't really want # We use this pattern here rather than `git grep` because we don't really want
# to encode the pathspec list in multiple places and anything more complicated # to encode the pathspec list in multiple places and anything more complicated
# just isn't worth the effort. # just isn't worth the effort.
@ -112,7 +106,7 @@ git ls-files -mo --exclude-standard -z | while read -r -d $'\0' file; do
new_header=$(echo -e "//""$go_build_tag_string""\n""//" "$build_tag_string""\n" | cat - hack/boilerplate/boilerplate.generatego.txt) new_header=$(echo -e "//""$go_build_tag_string""\n""//" "$build_tag_string""\n" | cat - hack/boilerplate/boilerplate.generatego.txt)
# ignore the first line (build tag) from the file # ignore the first line (build tag) from the file
tail -n +3 "$file" > tempfile tail -n +3 "$file" >"${tmp}"
fi fi
# if the file has only // +build !providerless header # if the file has only // +build !providerless header
@ -122,7 +116,7 @@ git ls-files -mo --exclude-standard -z | while read -r -d $'\0' file; do
new_header=$(echo -e "//" "$build_tag_string""\n" | cat - hack/boilerplate/boilerplate.generatego.txt) new_header=$(echo -e "//" "$build_tag_string""\n" | cat - hack/boilerplate/boilerplate.generatego.txt)
# ignore the first line (build tag) from the file # ignore the first line (build tag) from the file
tail -n +2 "$file" > tempfile tail -n +2 "$file" >"${tmp}"
fi fi
# if the file has only //go:build !providerless header # if the file has only //go:build !providerless header
@ -132,17 +126,17 @@ git ls-files -mo --exclude-standard -z | while read -r -d $'\0' file; do
new_header=$(echo -e "//""$go_build_tag_string""\n" | cat - hack/boilerplate/boilerplate.generatego.txt) new_header=$(echo -e "//""$go_build_tag_string""\n" | cat - hack/boilerplate/boilerplate.generatego.txt)
# ignore the first line (build tag) from the file # ignore the first line (build tag) from the file
tail -n +2 "$file" > tempfile tail -n +2 "$file" >"${tmp}"
fi fi
# if the header is generated # if the header is generated
if [ -n "$new_header" ] if [ -n "$new_header" ]
then then
# write the newly generated header file to the original file # write the newly generated header file to the original file
echo -e "$new_header" | cat - tempfile > "$file" echo -e "$new_header" | cat - "${tmp}" > "$file"
else else
# if no build string insert at the top # if no build string insert at the top
cat hack/boilerplate/boilerplate.generatego.txt "$file" > tempfile && \ cat hack/boilerplate/boilerplate.generatego.txt "$file" >"${tmp}" && \
mv tempfile "$file" mv "${tmp}" "$file"
fi fi
done done