hack/module.sh
learns codegen_verify
This commit is contained in:
parent
a456daa0b2
commit
7fa8f7797a
@ -68,8 +68,33 @@ function codegen::generate_for_module() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function codegen::generate() {
|
function codegen::generate() {
|
||||||
|
local mod_basename_for_version
|
||||||
|
mod_basename_for_version="${K8S_PKG_VERSION}/$(basename "${MOD_DIR}")"
|
||||||
|
|
||||||
codegen::ensure_module_in_gopath
|
codegen::ensure_module_in_gopath
|
||||||
codegen::generate_for_module "${K8S_PKG_VERSION}/$(basename "${MOD_DIR}")"
|
codegen::generate_for_module "${mod_basename_for_version}"
|
||||||
|
}
|
||||||
|
|
||||||
|
function codegen::verify() {
|
||||||
|
local have_stash=''
|
||||||
|
if [[ "$(git status --porcelain 2>/dev/null | wc -l | tr -d ' ')" -ne "0" ]]; then
|
||||||
|
git stash --all >/dev/null 2>&1 && have_stash=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
codegen::generate
|
||||||
|
|
||||||
|
if [[ "$(git status --porcelain 2>/dev/null | wc -l | tr -d ' ')" -eq "0" ]]; then
|
||||||
|
echo "Generated code in ${MOD_DIR} up to date."
|
||||||
|
else
|
||||||
|
echo "Generated code in ${MOD_DIR} is out of date."
|
||||||
|
echo "Please run hack/module.sh codegen"
|
||||||
|
git diff "${ROOT}"
|
||||||
|
git checkout "${ROOT}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -n "${have_stash}" ]]; then
|
||||||
|
git stash pop >/dev/null 2>&1
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function codegen::usage() {
|
function codegen::usage() {
|
||||||
|
@ -37,6 +37,10 @@ function codegen_cmd() {
|
|||||||
echo "${ROOT}/hack/codegen.sh codegen::generate"
|
echo "${ROOT}/hack/codegen.sh codegen::generate"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function codegen_verify_cmd() {
|
||||||
|
echo "${ROOT}/hack/codegen.sh codegen::verify"
|
||||||
|
}
|
||||||
|
|
||||||
# The race detector is slow, so sometimes you don't want to use it
|
# The race detector is slow, so sometimes you don't want to use it
|
||||||
function unittest_no_race_cmd() {
|
function unittest_no_race_cmd() {
|
||||||
if [ -x "$(command -v gotest)" ]; then
|
if [ -x "$(command -v gotest)" ]; then
|
||||||
@ -66,7 +70,7 @@ function with_modules() {
|
|||||||
|
|
||||||
function usage() {
|
function usage() {
|
||||||
echo "Error: <task> must be specified"
|
echo "Error: <task> must be specified"
|
||||||
echo " do.sh <task> [tidy, lint, test, unittest, unittest_no_race, codegen]"
|
echo " do.sh <task> [tidy, lint, test, unittest, unittest_no_race, codegen, codegen_verify]"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -78,6 +82,7 @@ function main() {
|
|||||||
'unittest') with_modules 'unittest_cmd' ;;
|
'unittest') with_modules 'unittest_cmd' ;;
|
||||||
'unittest_no_race') with_modules 'unittest_no_race_cmd' ;;
|
'unittest_no_race') with_modules 'unittest_no_race_cmd' ;;
|
||||||
'codegen') with_modules 'codegen_cmd' ;;
|
'codegen') with_modules 'codegen_cmd' ;;
|
||||||
|
'codegen_verify') with_modules 'codegen_verify_cmd' ;;
|
||||||
*) usage ;;
|
*) usage ;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user