From 83cef3eaaaf9e7d6cbc496099cc2e83ae3bbb676 Mon Sep 17 00:00:00 2001 From: Silas Boyd-Wickizer Date: Sun, 18 Aug 2019 15:34:59 -0700 Subject: [PATCH 1/3] Script for generating client code cc https://github.com/kubernetes-client/javascript/issues/325 --- README.md | 5 +---- generate-client.sh | 24 ++++++++++++++++++++++++ package.json | 1 + 3 files changed, 26 insertions(+), 4 deletions(-) create mode 100755 generate-client.sh diff --git a/README.md b/README.md index 017c484c89..ebbc0d9562 100644 --- a/README.md +++ b/README.md @@ -116,10 +116,7 @@ npm install ## (re) Generating code ```console -cd ../ -git clone https://github.com/kubernetes-client/gen -cd javascript -../gen/openapi/typescript.sh src/gen settings +npm run generate ``` ## Formatting diff --git a/generate-client.sh b/generate-client.sh new file mode 100755 index 0000000000..d5e1c8aa6f --- /dev/null +++ b/generate-client.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +set -o errexit +set -o nounset +set -o pipefail + +if [[ -z ${GEN_ROOT:-} ]]; then + TEMP_FOLDER=$(mktemp -d) + trap "rm -rf ${TEMP_FOLDER}" EXIT SIGINT + + GEN_ROOT="${TEMP_FOLDER}/gen" + echo ">>> Cloning gen repo" + git clone --recursive https://github.com/kubernetes-client/gen.git "${GEN_ROOT}" + if [[ ! -z ${GEN_COMMIT:-} ]]; then + (cd ${GEN_ROOT} && git checkout ${GEN_COMMIT}) + fi +else + echo ">>> Reusing gen repo at ${GEN_ROOT}" +fi + +TYPESCRIPT="${GEN_ROOT}/openapi/typescript.sh" +echo ">>> Running ${TYPESCRIPT}" +${TYPESCRIPT} src/gen settings +echo ">>> Done." diff --git a/package.json b/package.json index cc056e5951..839cc62bf5 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "lint": "tslint --project \".\" && prettier --check './src/**/*.ts' && tslint --project \"./examples/typescript\"", "clean": "rm -Rf node_modules/ dist/", "build": "tsc", + "generate": "USERNAME=kubernetes GEN_COMMIT=7959939 ./generate-client.sh", "watch": "tsc --watch", "test": "nyc mocha", "prepare": "npm run build" From 780e9b7109c77d00116fc3d9212aea274ef221e5 Mon Sep 17 00:00:00 2001 From: Silas Boyd-Wickizer Date: Mon, 19 Aug 2019 09:20:28 -0700 Subject: [PATCH 2/3] Move GEN_COMMIT and USERNAME to settings --- generate-client.sh | 2 ++ package.json | 2 +- settings | 6 ++++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/generate-client.sh b/generate-client.sh index d5e1c8aa6f..9952293c97 100755 --- a/generate-client.sh +++ b/generate-client.sh @@ -4,6 +4,8 @@ set -o errexit set -o nounset set -o pipefail +. settings + if [[ -z ${GEN_ROOT:-} ]]; then TEMP_FOLDER=$(mktemp -d) trap "rm -rf ${TEMP_FOLDER}" EXIT SIGINT diff --git a/package.json b/package.json index 839cc62bf5..dd2c64e43c 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "lint": "tslint --project \".\" && prettier --check './src/**/*.ts' && tslint --project \"./examples/typescript\"", "clean": "rm -Rf node_modules/ dist/", "build": "tsc", - "generate": "USERNAME=kubernetes GEN_COMMIT=7959939 ./generate-client.sh", + "generate": "./generate-client.sh", "watch": "tsc --watch", "test": "nyc mocha", "prepare": "npm run build" diff --git a/settings b/settings index 528d991f79..ff4498db15 100644 --- a/settings +++ b/settings @@ -14,6 +14,12 @@ # See the License for the specific language governing permissions and # limitations under the License. +# kubernetes-client/gen commit to use for code generation. +export GEN_COMMIT=7959939 + +# GitHub username/organization to clone kubernetes repo from. +export USERNAME=kubernetes + # Kubernetes branch to get the OpenAPI spec from. export KUBERNETES_BRANCH="release-1.13" From 1d89fcd85ff4da05aaf9ed658ef767baf48cab3d Mon Sep 17 00:00:00 2001 From: Silas Boyd-Wickizer Date: Mon, 19 Aug 2019 13:51:44 -0700 Subject: [PATCH 3/3] Force GEN_COMMIT --- generate-client.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/generate-client.sh b/generate-client.sh index 9952293c97..a5fd264304 100755 --- a/generate-client.sh +++ b/generate-client.sh @@ -7,15 +7,14 @@ set -o pipefail . settings if [[ -z ${GEN_ROOT:-} ]]; then + : "${GEN_COMMIT?Need to set GEN_COMMIT to kubernetes-client/gen commit}" TEMP_FOLDER=$(mktemp -d) trap "rm -rf ${TEMP_FOLDER}" EXIT SIGINT GEN_ROOT="${TEMP_FOLDER}/gen" echo ">>> Cloning gen repo" git clone --recursive https://github.com/kubernetes-client/gen.git "${GEN_ROOT}" - if [[ ! -z ${GEN_COMMIT:-} ]]; then - (cd ${GEN_ROOT} && git checkout ${GEN_COMMIT}) - fi + (cd ${GEN_ROOT} && git checkout ${GEN_COMMIT}) else echo ">>> Reusing gen repo at ${GEN_ROOT}" fi