Allow using forked swagger-api repository (#62)
To generate client for CRDs, I needed to use a forked version of swagger-api. ref: https://github.com/kubernetes-client/gen/issues/59#issuecomment-381395227
This commit is contained in:
committed by
Brendan Burns
parent
2f9542997c
commit
cbea33eac4
@@ -29,6 +29,7 @@ set -o pipefail
|
||||
# PACKAGE_NAME: Name of the client package.
|
||||
# CLIENT_LANGUAGE: Language of the client. ${CLIENT_LANGUAGE}.xml should exists.
|
||||
# Optional env vars:
|
||||
# SWAGGER_CODEGEN_USER_ORG: swagger-codegen-user-org
|
||||
# SWAGGER_CODEGEN_COMMIT: swagger-codegen-version
|
||||
# Input vars:
|
||||
# $1: output directory
|
||||
@@ -39,6 +40,7 @@ kubeclient::generator::generate_client() {
|
||||
: "${PACKAGE_NAME?Must set PACKAGE_NAME env var}"
|
||||
: "${CLIENT_LANGUAGE?Must set CLIENT_LANGUAGE env var}"
|
||||
|
||||
SWAGGER_CODEGEN_USER_ORG="${SWAGGER_CODEGEN_USER_ORG:-swagger-api}"
|
||||
SWAGGER_CODEGEN_COMMIT="${SWAGGER_CODEGEN_COMMIT:-v2.2.3}"
|
||||
USERNAME="${USERNAME:-kubernetes}"
|
||||
REPOSITORY="${REPOSITORY:-kubernetes}"
|
||||
@@ -61,6 +63,7 @@ kubeclient::generator::generate_client() {
|
||||
image_name="${REPOSITORY}-${CLIENT_LANGUAGE}-client-gen:v1"
|
||||
fi
|
||||
docker build "${SCRIPT_ROOT}" -t "${image_name}" \
|
||||
--build-arg SWAGGER_CODEGEN_USER_ORG="${SWAGGER_CODEGEN_USER_ORG}" \
|
||||
--build-arg SWAGGER_CODEGEN_COMMIT="${SWAGGER_CODEGEN_COMMIT}" \
|
||||
--build-arg GENERATION_XML_FILE="${CLIENT_LANGUAGE}.xml"
|
||||
|
||||
@@ -75,6 +78,7 @@ kubeclient::generator::generate_client() {
|
||||
-e CLIENT_VERSION="${CLIENT_VERSION}" \
|
||||
-e CLIENT_LANGUAGE="${CLIENT_LANGUAGE}" \
|
||||
-e PACKAGE_NAME="${PACKAGE_NAME}" \
|
||||
-e SWAGGER_CODEGEN_USER_ORG="${SWAGGER_CODEGEN_USER_ORG}" \
|
||||
-e SWAGGER_CODEGEN_COMMIT="${SWAGGER_CODEGEN_COMMIT}" \
|
||||
-e USERNAME="${USERNAME}" \
|
||||
-e REPOSITORY="${REPOSITORY}" \
|
||||
|
||||
0
openapi/generate_client_in_container.sh
Normal file → Executable file
0
openapi/generate_client_in_container.sh
Normal file → Executable file
@@ -46,7 +46,7 @@ popd > /dev/null
|
||||
source "${SCRIPT_ROOT}/client-generator.sh"
|
||||
source "${SETTING_FILE}"
|
||||
|
||||
SWAGGER_CODEGEN_COMMIT=v2.3.0; \
|
||||
SWAGGER_CODEGEN_COMMIT="${SWAGGER_CODEGEN_COMMIT:-v2.3.0}"; \
|
||||
CLIENT_LANGUAGE=go; \
|
||||
CLEANUP_DIRS=(pkg); \
|
||||
kubeclient::generator::generate_client "${OUTPUT_DIR}"
|
||||
|
||||
@@ -47,7 +47,7 @@ source "${SCRIPT_ROOT}/client-generator.sh"
|
||||
source "${SETTING_FILE}"
|
||||
|
||||
# HEAD of the 2.4.0 branch as of Jan 10, 2018.
|
||||
SWAGGER_CODEGEN_COMMIT=3930b5b0a109327b94baad0b8d1eaf25f11ee035; \
|
||||
SWAGGER_CODEGEN_COMMIT="${SWAGGER_CODEGEN_COMMIT:-3930b5b0a109327b94baad0b8d1eaf25f11ee035}"; \
|
||||
CLIENT_LANGUAGE=haskell-http-client; \
|
||||
CLEANUP_DIRS=(lib tests); \
|
||||
kubeclient::generator::generate_client "${OUTPUT_DIR}"
|
||||
|
||||
@@ -49,7 +49,7 @@ popd > /dev/null
|
||||
source "${SCRIPT_ROOT}/client-generator.sh"
|
||||
source "${SETTING_FILE}"
|
||||
|
||||
SWAGGER_CODEGEN_COMMIT=5d263e1c9cdd395d93adf061c63d5ef58a8e9ec5; \
|
||||
SWAGGER_CODEGEN_COMMIT="${SWAGGER_CODEGEN_COMMIT:-5d263e1c9cdd395d93adf061c63d5ef58a8e9ec5}"; \
|
||||
CLIENT_LANGUAGE=java; \
|
||||
CLEANUP_DIRS=(docs src/test/java/io/kubernetes/client/apis src/main/java/io/kubernetes/client/apis src/main/java/io/kubernetes/client/models src/main/java/io/kubernetes/client/auth gradle); \
|
||||
kubeclient::generator::generate_client "${OUTPUT_DIR}"
|
||||
|
||||
@@ -46,7 +46,7 @@ popd > /dev/null
|
||||
source "${SCRIPT_ROOT}/client-generator.sh"
|
||||
source "${SETTING_FILE}"
|
||||
|
||||
SWAGGER_CODEGEN_COMMIT=5d263e1c9cdd395d93adf061c63d5ef58a8e9ec5; \
|
||||
SWAGGER_CODEGEN_COMMIT="${SWAGGER_CODEGEN_COMMIT:-5d263e1c9cdd395d93adf061c63d5ef58a8e9ec5}"; \
|
||||
CLIENT_LANGUAGE=javascript; \
|
||||
CLEANUP_DIRS=(docs src test); \
|
||||
kubeclient::generator::generate_client "${OUTPUT_DIR}"
|
||||
|
||||
@@ -46,7 +46,7 @@ popd > /dev/null
|
||||
source "${SCRIPT_ROOT}/client-generator.sh"
|
||||
source "${SETTING_FILE}"
|
||||
|
||||
SWAGGER_CODEGEN_COMMIT=d2b91073e1fc499fea67141ff4c17740d25f8e83; \
|
||||
SWAGGER_CODEGEN_COMMIT="${SWAGGER_CODEGEN_COMMIT:-d2b91073e1fc499fea67141ff4c17740d25f8e83}"; \
|
||||
CLIENT_LANGUAGE=python; \
|
||||
CLEANUP_DIRS=(client/apis client/models docs test); \
|
||||
kubeclient::generator::generate_client "${OUTPUT_DIR}"
|
||||
|
||||
Reference in New Issue
Block a user