Skip to content

Commit 47c601c

Browse files
committed
feat: provide service-individual, explicit api versions via json file
1 parent 57ec14f commit 47c601c

File tree

4 files changed

+23
-14
lines changed

4 files changed

+23
-14
lines changed

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
ROOT_DIR ?= $(shell git rev-parse --show-toplevel)
22
SCRIPTS_BASE ?= $(ROOT_DIR)/scripts
3-
API_VERSION ?= $(shell cat api_version|grep -v '^\#'|head -n 1)
3+
API_VERSIONS ?= $(ROOT_DIR)/api-versions.json
44
SDK_BRANCH ?= main
55

66
# SETUP AND TOOL INITIALIZATION TASKS
@@ -12,7 +12,7 @@ project-tools:
1212

1313
# GENERATE
1414
download-oas:
15-
@$(SCRIPTS_BASE)/download-oas.sh "$(OAS_REPO_NAME)" "$(OAS_REPO)" "$(ALLOW_ALPHA)" "$(API_VERSION)"
15+
@$(SCRIPTS_BASE)/download-oas.sh "$(OAS_REPO_NAME)" "$(OAS_REPO)" "$(ALLOW_ALPHA)" "$(API_VERSIONS)"
1616

1717
generate-sdk:
1818
@$(SCRIPTS_BASE)/generate-sdk/generate-sdk.sh "$(GIT_HOST)" "$(GIT_USER_ID)" "$(GIT_REPO_ID)" "$(SDK_REPO_URL)" "$(LANGUAGE)" "$(SDK_BRANCH)"

api-versions.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"load-balancer": "9c9de238a3e650f4bed9b9d9ade151da9a97e1d6",
3+
"service-enablement": "c592757243833f9b506a7d23ec5a80a9b3c984ae",
4+
"certificates": "c592757243833f9b506a7d23ec5a80a9b3c984ae"
5+
}

api_version

Lines changed: 0 additions & 3 deletions
This file was deleted.

scripts/download-oas.sh

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ROOT_DIR=$(git rev-parse --show-toplevel)
66
OAS_REPO_NAME=$1
77
OAS_REPO=$2
88
ALLOW_ALPHA=$3
9-
OAS_API_VERSION=$4
9+
OAS_API_VERSIONS=$4
1010

1111
if [[ -z ${OAS_REPO_NAME} ]]; then
1212
echo "Repo name is empty, default public OAS repo name will be used."
@@ -18,9 +18,9 @@ if [[ ! ${OAS_REPO} || -d ${OAS_REPO} ]]; then
1818
OAS_REPO="https://github.com/stackitcloud/${OAS_REPO_NAME}.git"
1919
fi
2020

21-
if [[ -z ${OAS_API_VERSION} ]]; then
22-
echo "No API version passed, main branch will be used"
23-
OAS_API_VERSION="main"
21+
if [[ -z ${OAS_API_VERSIONS} ]]; then
22+
echo "No API version passed, using ${ROOTDIR}/api-versions.json"
23+
OAS_API_VERSIONS="${ROOTDIR}/api-versions.json"
2424
fi
2525

2626
# Create temp directory to clone OAS repo
@@ -41,16 +41,23 @@ mkdir ${ROOT_DIR}/oas
4141
cd ${work_dir}
4242
git clone ${OAS_REPO} --quiet
4343

44-
echo "Using api version ${OAS_API_VERSION}"
45-
cd ${OAS_REPO_NAME}
46-
git checkout --quiet ${OAS_API_VERSION}
47-
cd -
48-
4944
for service_dir in ${work_dir}/${OAS_REPO_NAME}/services/*; do
45+
5046
max_version_dir=""
5147
max_version=-1
5248
service=$(basename "$service_dir")
5349

50+
apiVersion=$(jq -r -f <(cat <<EOF
51+
if has("${service}") then ."${service}" else "main" end
52+
EOF
53+
) ${OAS_API_VERSIONS})
54+
if [ "${apiVersion}" != "main" ]; then
55+
echo "Using ${apiVersion} for ${service}"
56+
fi
57+
cd ${work_dir}/${OAS_REPO_NAME} > /dev/null
58+
git checkout -q $apiVersion
59+
cd - > /dev/null
60+
5461
# Prioritize GA over Beta over Alpha versions
5562
# GA priority = 3, Beta priority = 2, Alpha priority = 1
5663
max_version_priority=1

0 commit comments

Comments
 (0)