Generate conversions/deep-copies for experimental. Currently we make (and register) duplicate functions but this is benign.
This commit is contained in:
@@ -29,11 +29,11 @@ function generate_version() {
|
||||
local version=$1
|
||||
local TMPFILE="/tmp/conversion_generated.$(date +%s).go"
|
||||
|
||||
echo "Generating for version ${version}"
|
||||
echo "Generating for ${version}"
|
||||
|
||||
sed 's/YEAR/2015/' hack/boilerplate/boilerplate.go.txt > "$TMPFILE"
|
||||
cat >> "$TMPFILE" <<EOF
|
||||
package ${version}
|
||||
package ${version##*/}
|
||||
|
||||
// AUTO-GENERATED FUNCTIONS START HERE
|
||||
EOF
|
||||
@@ -44,14 +44,19 @@ EOF
|
||||
// AUTO-GENERATED FUNCTIONS END HERE
|
||||
EOF
|
||||
|
||||
mv "$TMPFILE" "pkg/api/${version}/conversion_generated.go"
|
||||
env GOPATH=$(godep path):$GOPATH goimports -w "$TMPFILE"
|
||||
mv "$TMPFILE" "pkg/${version}/conversion_generated.go"
|
||||
}
|
||||
|
||||
VERSIONS="v1"
|
||||
for ver in $VERSIONS; do
|
||||
# Ensure that the version being processed is registered by setting
|
||||
# KUBE_API_VERSIONS.
|
||||
KUBE_API_VERSIONS="${ver}" generate_version "${ver}"
|
||||
done
|
||||
if ! which goimports >/dev/null; then
|
||||
echo "goimports not in path, run go get golang.org/x/tools/cmd/goimports"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# ex: ts=2 sw=2 et filetype=sh
|
||||
DEFAULT_VERSIONS="api/v1 expapi/v1"
|
||||
VERSIONS=${VERSIONS:-$DEFAULT_VERSIONS}
|
||||
for ver in $VERSIONS; do
|
||||
# Ensure that the version being processed is registered by setting
|
||||
# KUBE_API_VERSIONS.
|
||||
KUBE_API_VERSIONS="${ver##*/}" generate_version "${ver}"
|
||||
done
|
||||
|
@@ -27,22 +27,25 @@ gendeepcopy=$(kube::util::find-binary "gendeepcopy")
|
||||
|
||||
function result_file_name() {
|
||||
local version=$1
|
||||
if [ "${version}" == "api" ]; then
|
||||
echo "pkg/api/deep_copy_generated.go"
|
||||
else
|
||||
echo "pkg/api/${version}/deep_copy_generated.go"
|
||||
fi
|
||||
echo "pkg/${version}/deep_copy_generated.go"
|
||||
}
|
||||
|
||||
function generate_version() {
|
||||
local version=$1
|
||||
local TMPFILE="/tmp/deep_copy_generated.$(date +%s).go"
|
||||
|
||||
echo "Generating for version ${version}"
|
||||
echo "Generating for ${version}"
|
||||
|
||||
# version is group/version, so use the version number as the package name unless
|
||||
# this is an internal version, in which case use the group name.
|
||||
pkgname=${version##*/}
|
||||
if [[ -z $pkgname ]]; then
|
||||
pkgname=${version%/*}
|
||||
fi
|
||||
|
||||
sed 's/YEAR/2015/' hack/boilerplate/boilerplate.go.txt > $TMPFILE
|
||||
cat >> $TMPFILE <<EOF
|
||||
package ${version}
|
||||
package $pkgname
|
||||
|
||||
// AUTO-GENERATED FUNCTIONS START HERE
|
||||
EOF
|
||||
@@ -53,27 +56,24 @@ EOF
|
||||
// AUTO-GENERATED FUNCTIONS END HERE
|
||||
EOF
|
||||
|
||||
gofmt -w -s "$TMPFILE"
|
||||
env GOPATH=$(godep path):$GOPATH goimports -w "$TMPFILE"
|
||||
mv "$TMPFILE" `result_file_name ${version}`
|
||||
}
|
||||
|
||||
function generate_deep_copies() {
|
||||
local versions="api v1"
|
||||
# To avoid compile errors, remove the currently existing files.
|
||||
for ver in ${versions}; do
|
||||
rm -f `result_file_name ${ver}`
|
||||
done
|
||||
apiVersions=""
|
||||
for ver in ${versions}; do
|
||||
# Ensure that the version being processed is registered by setting
|
||||
# KUBE_API_VERSIONS.
|
||||
if [ "${ver}" != "api" ]; then
|
||||
apiVersions="${ver}"
|
||||
fi
|
||||
KUBE_API_VERSIONS="${apiVersions}" generate_version "${ver}"
|
||||
done
|
||||
local versions="$@"
|
||||
# To avoid compile errors, remove the currently existing files.
|
||||
for ver in ${versions}; do
|
||||
rm -f `result_file_name ${ver}`
|
||||
done
|
||||
for ver in ${versions}; do
|
||||
# Ensure that the version being processed is registered by setting
|
||||
# KUBE_API_VERSIONS.
|
||||
apiVersions="${ver##*/}"
|
||||
KUBE_API_VERSIONS="${apiVersions}" generate_version "${ver}"
|
||||
done
|
||||
}
|
||||
|
||||
DEFAULT_VERSIONS="api/ api/v1 expapi/ expapi/v1"
|
||||
VERSIONS=${VERSIONS:-$DEFAULT_VERSIONS}
|
||||
generate_deep_copies
|
||||
|
||||
# ex: ts=2 sw=2 et filetype=sh
|
||||
|
@@ -23,25 +23,31 @@ source "${KUBE_ROOT}/hack/lib/init.sh"
|
||||
|
||||
kube::golang::setup_env
|
||||
|
||||
APIROOT="${KUBE_ROOT}/pkg/api"
|
||||
TMP_APIROOT="${KUBE_ROOT}/_tmp/api"
|
||||
APIROOTS=${APIROOTS:-pkg/api pkg/expapi}
|
||||
_tmp="${KUBE_ROOT}/_tmp"
|
||||
|
||||
mkdir -p "${_tmp}"
|
||||
cp -a "${APIROOT}" "${TMP_APIROOT}"
|
||||
cleanup() {
|
||||
rm -rf "${_tmp}"
|
||||
}
|
||||
|
||||
trap "cleanup" EXIT SIGINT
|
||||
|
||||
for APIROOT in ${APIROOTS}; do
|
||||
mkdir -p "${_tmp}/${APIROOT%/*}"
|
||||
cp -a "${KUBE_ROOT}/${APIROOT}" "${_tmp}/${APIROOT}"
|
||||
done
|
||||
|
||||
"${KUBE_ROOT}/hack/update-generated-conversions.sh"
|
||||
echo "diffing ${APIROOT} against freshly generated conversions"
|
||||
ret=0
|
||||
diff -Naupr -I 'Auto generated by' "${APIROOT}" "${TMP_APIROOT}" || ret=$?
|
||||
cp -a ${TMP_APIROOT} "${KUBE_ROOT}/pkg"
|
||||
rm -rf "${_tmp}"
|
||||
if [[ $ret -eq 0 ]]
|
||||
then
|
||||
echo "${APIROOT} up to date."
|
||||
else
|
||||
echo "${APIROOT} is out of date. Please run hack/update-generated-conversions.sh"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# ex: ts=2 sw=2 et filetype=sh
|
||||
for APIROOT in ${APIROOTS}; do
|
||||
TMP_APIROOT="${_tmp}/${APIROOT}"
|
||||
echo "diffing ${APIROOT} against freshly generated conversions"
|
||||
ret=0
|
||||
diff -Naupr -I 'Auto generated by' "${KUBE_ROOT}/${APIROOT}" "${TMP_APIROOT}" || ret=$?
|
||||
cp -a "${TMP_APIROOT}" "${KUBE_ROOT}/${APIROOT%/*}"
|
||||
if [[ $ret -eq 0 ]]; then
|
||||
echo "${APIROOT} up to date."
|
||||
else
|
||||
echo "${APIROOT} is out of date. Please run hack/update-generated-conversions.sh"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
@@ -25,25 +25,32 @@ kube::golang::setup_env
|
||||
|
||||
gendeepcopy=$(kube::util::find-binary "gendeepcopy")
|
||||
|
||||
APIROOT="${KUBE_ROOT}/pkg/api"
|
||||
TMP_APIROOT="${KUBE_ROOT}/_tmp/api"
|
||||
APIROOTS=${APIROOTS:-pkg/api pkg/expapi}
|
||||
_tmp="${KUBE_ROOT}/_tmp"
|
||||
|
||||
mkdir -p "${_tmp}"
|
||||
cp -a "${APIROOT}" "${TMP_APIROOT}"
|
||||
cleanup() {
|
||||
rm -rf "${_tmp}"
|
||||
}
|
||||
|
||||
trap "cleanup" EXIT SIGINT
|
||||
|
||||
for APIROOT in ${APIROOTS}; do
|
||||
mkdir -p "${_tmp}/${APIROOT%/*}"
|
||||
cp -a "${KUBE_ROOT}/${APIROOT}" "${_tmp}/${APIROOT}"
|
||||
done
|
||||
|
||||
"${KUBE_ROOT}/hack/update-generated-deep-copies.sh"
|
||||
echo "diffing ${APIROOT} against freshly generated deep copies"
|
||||
ret=0
|
||||
diff -Naupr -I 'Auto generated by' "${APIROOT}" "${TMP_APIROOT}" || ret=$?
|
||||
cp -a ${TMP_APIROOT} "${KUBE_ROOT}/pkg"
|
||||
rm -rf "${_tmp}"
|
||||
if [[ $ret -eq 0 ]]
|
||||
then
|
||||
echo "${APIROOT} up to date."
|
||||
else
|
||||
echo "${APIROOT} is out of date. Please run hack/update-generated-deep-copies.sh"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# ex: ts=2 sw=2 et filetype=sh
|
||||
for APIROOT in ${APIROOTS}; do
|
||||
TMP_APIROOT="${_tmp}/${APIROOT}"
|
||||
echo "diffing ${APIROOT} against freshly generated deep copies"
|
||||
ret=0
|
||||
diff -Naupr -I 'Auto generated by' "${KUBE_ROOT}/${APIROOT}" "${TMP_APIROOT}" || ret=$?
|
||||
cp -a ${TMP_APIROOT} "${KUBE_ROOT}/${APIROOT%/*}"
|
||||
if [[ $ret -eq 0 ]]; then
|
||||
echo "${APIROOT} up to date."
|
||||
else
|
||||
echo "${APIROOT} is out of date. Please run hack/update-generated-deep-copies.sh"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
Reference in New Issue
Block a user