diff --git a/hack/boilerplate.go.txt b/hack/boilerplate.go.txt new file mode 100644 index 0000000..daa97b8 --- /dev/null +++ b/hack/boilerplate.go.txt @@ -0,0 +1,15 @@ +/* +Copyright 2021 The Volcano 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. +*/ \ No newline at end of file diff --git a/hack/update-codegen.sh b/hack/update-codegen.sh index e69de29..767be61 100644 --- a/hack/update-codegen.sh +++ b/hack/update-codegen.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +set -o errexit +set -o nounset +set -o pipefail + +SCRIPT_ROOT=$(dirname ${BASH_SOURCE})/.. +CODEGEN_PKG=${CODEGEN_PKG:-$(cd ${SCRIPT_ROOT}; ls -d -1 ./vendor/k8s.io/code-generator 2>/dev/null || echo ${GOPATH}/src/k8s.io/code-generator)} + +vendor/k8s.io/code-generator/generate-groups.sh all \ + github.com/volcano-sh/apis/pkg/client github.com/volcano-sh/apis/pkg/apis/batch \ + batch.volcano.sh:v1alpha1 \ + --go-header-file ${SCRIPT_ROOT}/hack/boilerplate.go.txt +vendor/k8s.io/code-generator/generate-groups.sh all \ + github.com/volcano-sh/apis/pkg/client github.com/volcano-sh/apis/pkg/apis/bus \ + bus.volcano.sh:v1alpha1 \ + --go-header-file ${SCRIPT_ROOT}/hack/boilerplate.go.txt +vendor/k8s.io/code-generator/generate-groups.sh all \ + github.com/volcano-sh/apis/pkg/client github.com/volcano-sh/apis/pkg/apis/scheduling \ + scheduling.volcano.sh:v1beta1 \ + --go-header-file ${SCRIPT_ROOT}/hack/boilerplate.go.txt \ No newline at end of file diff --git a/hack/verify-codegen.sh b/hack/verify-codegen.sh index e69de29..c1c7ec1 100644 --- a/hack/verify-codegen.sh +++ b/hack/verify-codegen.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +set -o errexit +set -o nounset +set -o pipefail + +SCRIPT_ROOT=$(dirname "${BASH_SOURCE}")/.. +DIFFROOT="${SCRIPT_ROOT}/pkg" +TMP_DIFFROOT="${SCRIPT_ROOT}/_tmp/pkg" +_tmp="${SCRIPT_ROOT}/_tmp" + +cleanup() { + rm -rf "${_tmp}" +} +trap "cleanup" EXIT SIGINT + +cleanup + +mkdir -p "${TMP_DIFFROOT}" +cp -a "${DIFFROOT}"/* "${TMP_DIFFROOT}" + +"${SCRIPT_ROOT}/hack/update-codegen.sh" +echo "diffing ${DIFFROOT} against freshly generated codegen" +ret=0 +diff -Naupr "${DIFFROOT}" "${TMP_DIFFROOT}" || ret=$? +cp -a "${TMP_DIFFROOT}"/* "${DIFFROOT}" +if [[ $ret -eq 0 ]] +then + echo "${DIFFROOT} up to date." +else + echo "${DIFFROOT} is out of date. Please run hack/update-codegen.sh" + exit 1 +fi \ No newline at end of file