From 31ba1e7e7034aa893dce411a0297fc07c169f348 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Schmitz?= <152157960+bahkauv70@users.noreply.github.com> Date: Tue, 21 Jan 2025 13:32:59 +0100 Subject: [PATCH 1/3] feat: use fixed api version commit ref from file --- Makefile | 3 ++- api_version | 3 +++ scripts/download-oas.sh | 11 +++++++++++ 3 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 api_version diff --git a/Makefile b/Makefile index 5081154..65f0781 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,6 @@ ROOT_DIR ?= $(shell git rev-parse --show-toplevel) SCRIPTS_BASE ?= $(ROOT_DIR)/scripts +API_VERSION ?= $(shell cat api_version|grep -v '^#'|head -n 1) # SETUP AND TOOL INITIALIZATION TASKS project-help: @@ -10,7 +11,7 @@ project-tools: # GENERATE download-oas: - @$(SCRIPTS_BASE)/download-oas.sh "$(OAS_REPO_NAME)" "$(OAS_REPO)" "$(ALLOW_ALPHA)" + @$(SCRIPTS_BASE)/download-oas.sh "$(OAS_REPO_NAME)" "$(OAS_REPO)" "$(ALLOW_ALPHA)" "$(API_VERSION)" generate-sdk: @$(SCRIPTS_BASE)/generate-sdk/generate-sdk.sh "$(GIT_HOST)" "$(GIT_USER_ID)" "$(GIT_REPO_ID)" "$(SDK_REPO_URL)" "$(LANGUAGE)" diff --git a/api_version b/api_version new file mode 100644 index 0000000..76fd610 --- /dev/null +++ b/api_version @@ -0,0 +1,3 @@ +# 2e3768b7b65237391fc587eddd559451f2b183a6 +# comments are allowed! +main \ No newline at end of file diff --git a/scripts/download-oas.sh b/scripts/download-oas.sh index ff59bce..8336a1f 100755 --- a/scripts/download-oas.sh +++ b/scripts/download-oas.sh @@ -6,6 +6,7 @@ ROOT_DIR=$(git rev-parse --show-toplevel) OAS_REPO_NAME=$1 OAS_REPO=$2 ALLOW_ALPHA=$3 +OAS_API_VERSION=$4 if [[ -z ${OAS_REPO_NAME} ]]; then echo "Repo name is empty, default public OAS repo name will be used." @@ -17,6 +18,11 @@ if [[ ! ${OAS_REPO} || -d ${OAS_REPO} ]]; then OAS_REPO="https://github.com/stackitcloud/${OAS_REPO_NAME}.git" fi +if [[ -z ${OAS_API_VERSION} ]]; then + echo "No API version passed, main branch will be used" + OAS_API_VERSION="main" +fi + # Create temp directory to clone OAS repo work_dir=$(mktemp -d) if [[ ! ${work_dir} || -d {work_dir} ]]; then @@ -35,6 +41,11 @@ mkdir ${ROOT_DIR}/oas cd ${work_dir} git clone ${OAS_REPO} --quiet +echo "Using api version ${OAS_API_VERSION}" +cd ${OAS_REPO_NAME} +git checkout --quiet ${OAS_API_VERSION} +cd - + for service_dir in ${work_dir}/${OAS_REPO_NAME}/services/*; do max_version_dir="" max_version=-1 From 7498b1ef8bf80b96fd11ae94d077f5f11f9c1a02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Schmitz?= <152157960+bahkauv70@users.noreply.github.com> Date: Wed, 22 Jan 2025 14:45:07 +0100 Subject: [PATCH 2/3] fix: allow passing the branch of the go sdk --- Makefile | 4 +++- scripts/generate-sdk/generate-sdk.sh | 8 +++++++- scripts/generate-sdk/languages/go.sh | 2 ++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 65f0781..de90776 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,7 @@ ROOT_DIR ?= $(shell git rev-parse --show-toplevel) SCRIPTS_BASE ?= $(ROOT_DIR)/scripts API_VERSION ?= $(shell cat api_version|grep -v '^#'|head -n 1) +SDK_BRANCH ?= main # SETUP AND TOOL INITIALIZATION TASKS project-help: @@ -12,6 +13,7 @@ project-tools: # GENERATE download-oas: @$(SCRIPTS_BASE)/download-oas.sh "$(OAS_REPO_NAME)" "$(OAS_REPO)" "$(ALLOW_ALPHA)" "$(API_VERSION)" + generate-sdk: - @$(SCRIPTS_BASE)/generate-sdk/generate-sdk.sh "$(GIT_HOST)" "$(GIT_USER_ID)" "$(GIT_REPO_ID)" "$(SDK_REPO_URL)" "$(LANGUAGE)" + @$(SCRIPTS_BASE)/generate-sdk/generate-sdk.sh "$(GIT_HOST)" "$(GIT_USER_ID)" "$(GIT_REPO_ID)" "$(SDK_REPO_URL)" "$(LANGUAGE)" "$(SDK_BRANCH)" diff --git a/scripts/generate-sdk/generate-sdk.sh b/scripts/generate-sdk/generate-sdk.sh index e409048..5fac558 100755 --- a/scripts/generate-sdk/generate-sdk.sh +++ b/scripts/generate-sdk/generate-sdk.sh @@ -9,6 +9,7 @@ GIT_USER_ID=$2 GIT_REPO_ID=$3 SDK_REPO_URL=$4 LANGUAGE=$5 +SDK_BRANCH=$6 # Global variables ROOT_DIR=$(git rev-parse --show-toplevel) @@ -32,6 +33,11 @@ if [[ -z ${LANGUAGE} ]]; then LANGUAGE="go" fi +if [[ -z ${SDK_BRANCH} ]]; then + echo "SDK_BRANCH not specified, main branch will be used." + SDK_BRANCH=main +fi + # Check dependencies if type -p java >/dev/null; then : @@ -78,7 +84,7 @@ go) source ${LANGUAGE_GENERATORS_FOLDER_PATH}/${LANGUAGE}.sh # Usage: generate_go_sdk GENERATOR_PATH GIT_HOST GIT_USER_ID [GIT_REPO_ID] [SDK_REPO_URL] - generate_go_sdk ${jar_path} ${GIT_HOST} ${GIT_USER_ID} ${GIT_REPO_ID} ${SDK_REPO_URL} + generate_go_sdk "${jar_path}" "${GIT_HOST}" "${GIT_USER_ID}" "${GIT_REPO_ID}" "${SDK_REPO_URL}" "${SDK_BRANCH}" ;; python) echo -e "\n>> Generating the Python SDK..." diff --git a/scripts/generate-sdk/languages/go.sh b/scripts/generate-sdk/languages/go.sh index f60e7ad..e2e3634 100644 --- a/scripts/generate-sdk/languages/go.sh +++ b/scripts/generate-sdk/languages/go.sh @@ -27,6 +27,7 @@ generate_go_sdk() { # Optional parameters local GIT_REPO_ID=$4 local SDK_REPO_URL=$5 + local SDK_BRANCH=$6 # Check required parameters if [[ -z ${GIT_HOST} ]]; then @@ -75,6 +76,7 @@ generate_go_sdk() { # Install SDK project tools cd ${SDK_REPO_LOCAL_PATH} + git checkout ${SDK_BRANCH} make project-tools # Backup of the current state of the SDK services dir (services/) From 64bfd832d7de41d1668c3df4dce73214c95a6f63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Schmitz?= <152157960+bahkauv70@users.noreply.github.com> Date: Thu, 23 Jan 2025 11:52:13 +0100 Subject: [PATCH 3/3] fix: shell issue --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index de90776..75ad832 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ ROOT_DIR ?= $(shell git rev-parse --show-toplevel) SCRIPTS_BASE ?= $(ROOT_DIR)/scripts -API_VERSION ?= $(shell cat api_version|grep -v '^#'|head -n 1) +API_VERSION ?= $(shell cat api_version|grep -v '^\#'|head -n 1) SDK_BRANCH ?= main # SETUP AND TOOL INITIALIZATION TASKS