allow specifying a github username if working on forks (#58)

This commit is contained in:
Alessandro Ogier
2018-05-03 07:10:16 +02:00
committed by Brendan Burns
parent df8b843fb9
commit da2c88defb
11 changed files with 39 additions and 16 deletions

11
openapi/client-generator.sh Executable file → Normal file
View File

@@ -40,6 +40,7 @@ kubeclient::generator::generate_client() {
: "${CLIENT_LANGUAGE?Must set CLIENT_LANGUAGE env var}" : "${CLIENT_LANGUAGE?Must set CLIENT_LANGUAGE env var}"
SWAGGER_CODEGEN_COMMIT="${SWAGGER_CODEGEN_COMMIT:-v2.2.3}" SWAGGER_CODEGEN_COMMIT="${SWAGGER_CODEGEN_COMMIT:-v2.2.3}"
USERNAME="${USERNAME:-kubernetes}"
local output_dir=$1 local output_dir=$1
pushd "${output_dir}" > /dev/null pushd "${output_dir}" > /dev/null
@@ -53,7 +54,12 @@ kubeclient::generator::generate_client() {
mkdir -p "${output_dir}" mkdir -p "${output_dir}"
echo "--- Building docker image..." echo "--- Building docker image..."
docker build "${SCRIPT_ROOT}" -t "kubernetes-${CLIENT_LANGUAGE}-client-gen:v1" \ if [ "${USERNAME}" != "kubernetes" ]; then
image_name="kubernetes-${USERNAME}-${CLIENT_LANGUAGE}-client-gen:v1"
else
image_name="kubernetes-${CLIENT_LANGUAGE}-client-gen:v1"
fi
docker build "${SCRIPT_ROOT}" -t "${image_name}" \
--build-arg SWAGGER_CODEGEN_COMMIT="${SWAGGER_CODEGEN_COMMIT}" \ --build-arg SWAGGER_CODEGEN_COMMIT="${SWAGGER_CODEGEN_COMMIT}" \
--build-arg GENERATION_XML_FILE="${CLIENT_LANGUAGE}.xml" --build-arg GENERATION_XML_FILE="${CLIENT_LANGUAGE}.xml"
@@ -69,8 +75,9 @@ kubeclient::generator::generate_client() {
-e CLIENT_LANGUAGE="${CLIENT_LANGUAGE}" \ -e CLIENT_LANGUAGE="${CLIENT_LANGUAGE}" \
-e PACKAGE_NAME="${PACKAGE_NAME}" \ -e PACKAGE_NAME="${PACKAGE_NAME}" \
-e SWAGGER_CODEGEN_COMMIT="${SWAGGER_CODEGEN_COMMIT}" \ -e SWAGGER_CODEGEN_COMMIT="${SWAGGER_CODEGEN_COMMIT}" \
-e USERNAME="${USERNAME}" \
-v "${output_dir}:/output_dir" \ -v "${output_dir}:/output_dir" \
"kubernetes-${CLIENT_LANGUAGE}-client-gen:v1" "/output_dir" "${image_name}" "/output_dir"
echo "---Done." echo "---Done."
} }

View File

@@ -25,8 +25,9 @@ ARGC=$#
if [ $# -ne 2 ]; then if [ $# -ne 2 ]; then
echo "Usage:" echo "Usage:"
echo " csharp.sh OUTPUT_DIR SETTING_FILE_PATH" echo " $(basename ${0}) OUTPUT_DIR SETTING_FILE_PATH"
echo " Setting file should define KUBERNETES_BRANCH, CLIENT_VERSION, and PACKAGE_NAME" echo " Setting file should define KUBERNETES_BRANCH, CLIENT_VERSION, and PACKAGE_NAME"
echo " Setting file can define an optional USERNAME if you're working on a fork"
exit 1 exit 1
fi fi

2
openapi/generate_client_in_container.sh Executable file → Normal file
View File

@@ -79,7 +79,7 @@ popd
mkdir -p "${output_dir}" mkdir -p "${output_dir}"
echo "--- Downloading and pre-processing OpenAPI spec" echo "--- Downloading and pre-processing OpenAPI spec"
python "${SCRIPT_ROOT}/preprocess_spec.py" "${CLIENT_LANGUAGE}" "${KUBERNETES_BRANCH}" "${output_dir}/swagger.json" python "${SCRIPT_ROOT}/preprocess_spec.py" "${CLIENT_LANGUAGE}" "${KUBERNETES_BRANCH}" "${output_dir}/swagger.json" "${USERNAME}"
echo "--- Cleaning up previously generated folders" echo "--- Cleaning up previously generated folders"
for i in ${CLEANUP_DIRS}; do for i in ${CLEANUP_DIRS}; do

View File

@@ -22,8 +22,9 @@ ARGC=$#
if [ $# -ne 2 ]; then if [ $# -ne 2 ]; then
echo "Usage:" echo "Usage:"
echo " go.sh OUTPUT_DIR SETTING_FILE_PATH" echo " $(basename ${0}) OUTPUT_DIR SETTING_FILE_PATH"
echo " Setting file should define KUBERNETES_BRANCH, CLIENT_VERSION, and PACKAGE_NAME" echo " Setting file should define KUBERNETES_BRANCH, CLIENT_VERSION, and PACKAGE_NAME"
echo " Setting file can define an optional USERNAME if you're working on a fork"
exit 1 exit 1
fi fi

View File

@@ -22,8 +22,9 @@ ARGC=$#
if [ $# -ne 2 ]; then if [ $# -ne 2 ]; then
echo "Usage:" echo "Usage:"
echo " haskell.sh OUTPUT_DIR SETTING_FILE_PATH" echo " $(basename ${0}) OUTPUT_DIR SETTING_FILE_PATH"
echo " Setting file should define KUBERNETES_BRANCH, CLIENT_VERSION, and PACKAGE_NAME" echo " Setting file should define KUBERNETES_BRANCH, CLIENT_VERSION, and PACKAGE_NAME"
echo " Setting file can define an optional USERNAME if you're working on a fork"
exit 1 exit 1
fi fi

View File

@@ -25,8 +25,9 @@ ARGC=$#
if [ $# -ne 2 ]; then if [ $# -ne 2 ]; then
echo "Usage:" echo "Usage:"
echo " java.sh OUTPUT_DIR SETTING_FILE_PATH" echo " $(basename ${0}) OUTPUT_DIR SETTING_FILE_PATH"
echo " Setting file should define KUBERNETES_BRANCH, CLIENT_VERSION, and PACKAGE_NAME" echo " Setting file should define KUBERNETES_BRANCH, CLIENT_VERSION, and PACKAGE_NAME"
echo " Setting file can define an optional USERNAME if you're working on a fork"
exit 1 exit 1
fi fi

View File

@@ -21,8 +21,10 @@ set -o pipefail
ARGC=$# ARGC=$#
if [ $# -ne 2 ]; then if [ $# -ne 2 ]; then
echo "Usage:\n\n\tjavascript.sh OUTPUT_DIR SETTING_FILE_PATH" echo "Usage:"
echo "\nSetting file should define KUBERNETES_BRANCH, CLIENT_VERSION, and PACKAGE_NAME\n" echo " $(basename ${0}) OUTPUT_DIR SETTING_FILE_PATH"
echo " Setting file should define KUBERNETES_BRANCH, CLIENT_VERSION, and PACKAGE_NAME"
echo " Setting file can define an optional USERNAME if you're working on a fork"
exit 1 exit 1
fi fi

View File

@@ -297,10 +297,16 @@ def main():
'output_spec_path', 'output_spec_path',
help='Path to otput spec file to' help='Path to otput spec file to'
) )
argparser.add_argument(
'username',
help='Optional username if working on forks',
default='kubernetes'
)
args = argparser.parse_args() args = argparser.parse_args()
spec_url = 'https://raw.githubusercontent.com/kubernetes/kubernetes/' \ spec_url = 'https://raw.githubusercontent.com/%s/kubernetes/' \
'%s/api/openapi-spec/swagger.json' % args.kubernetes_branch '%s/api/openapi-spec/swagger.json' % (args.username,
args.kubernetes_branch)
pool = urllib3.PoolManager() pool = urllib3.PoolManager()
with pool.request('GET', spec_url, preload_content=False) as response: with pool.request('GET', spec_url, preload_content=False) as response:

3
openapi/python.sh Executable file → Normal file
View File

@@ -22,8 +22,9 @@ ARGC=$#
if [ $# -ne 2 ]; then if [ $# -ne 2 ]; then
echo "Usage:" echo "Usage:"
echo " python.sh OUTPUT_DIR SETTING_FILE_PATH" echo " $(basename ${0}) OUTPUT_DIR SETTING_FILE_PATH"
echo " Setting file should define KUBERNETES_BRANCH, CLIENT_VERSION, and PACKAGE_NAME" echo " Setting file should define KUBERNETES_BRANCH, CLIENT_VERSION, and PACKAGE_NAME"
echo " Setting file can define an optional USERNAME if you're working on a fork"
exit 1 exit 1
fi fi

View File

@@ -21,8 +21,10 @@ set -o pipefail
ARGC=$# ARGC=$#
if [ $# -ne 2 ]; then if [ $# -ne 2 ]; then
echo "Usage:\n\n\truby.sh OUTPUT_DIR SETTING_FILE_PATH" echo "Usage:"
echo "\nSetting file should define KUBERNETES_BRANCH, CLIENT_VERSION, and PACKAGE_NAME\n" echo " $(basename ${0}) OUTPUT_DIR SETTING_FILE_PATH"
echo " Setting file should define KUBERNETES_BRANCH, CLIENT_VERSION, and PACKAGE_NAME"
echo " Setting file can define an optional USERNAME if you're working on a fork"
exit 1 exit 1
fi fi

View File

@@ -22,8 +22,9 @@ ARGC=$#
if [ $# -ne 2 ]; then if [ $# -ne 2 ]; then
echo "Usage:" echo "Usage:"
echo " $(basename ${0}) OUTPUT_DIR SETTING_FILE_PATH" echo " $(basename ${0}) OUTPUT_DIR SETTING_FILE_PATH"
echo "Setting file should define KUBERNETES_BRANCH, CLIENT_VERSION, and PACKAGE_NAME" echo " Setting file should define KUBERNETES_BRANCH, CLIENT_VERSION, and PACKAGE_NAME"
echo " Setting file can define an optional USERNAME if you're working on a fork"
exit 1 exit 1
fi fi