@@ -95,6 +95,25 @@ generate_python_sdk() {
9595 mkdir -p " ${SERVICES_FOLDER} /${service} /"
9696 cp " ${ROOT_DIR} /scripts/generate-sdk/.openapi-generator-ignore-python" " ${SERVICES_FOLDER} /${service} /.openapi-generator-ignore"
9797
98+ # set default version if there is no changelog or the version cannot be found in the changelog
99+ version=" v0.0.1a"
100+
101+ # If the service has a CHANGELOG file, move it inside the service folder
102+ if [ -f ${sdk_services_backup_dir} /${service} /CHANGELOG.md ]; then
103+ echo " Found ${service} \" CHANGELOG\" file"
104+ cp -r ${sdk_services_backup_dir} /${service} /CHANGELOG.md ${SERVICES_FOLDER} /${service} /CHANGELOG.md
105+
106+ # Get the python package version from the first line of the changelog
107+ FILENAME=" ${SERVICES_FOLDER} /${service} /CHANGELOG.md"
108+ first_line=$( head -n 1 " $FILENAME " )
109+ if [[ $first_line =~ (v[0-9]+\. [0-9]+\. [0-9]+) ]]; then
110+ version=" ${BASH_REMATCH[1]} "
111+ echo " Found ${service} version $version "
112+ else
113+ echo " Version not found in the first line of changelog - using default."
114+ fi
115+ fi
116+
98117 # Run the generator
99118 java -Dlog.level=${GENERATOR_LOG_LEVEL} -jar ${jar_path} generate \
100119 --generator-name python \
@@ -106,7 +125,7 @@ generate_python_sdk() {
106125 --git-user-id ${GIT_USER_ID} \
107126 --git-repo-id ${GIT_REPO_ID} \
108127 --global-property apis,models,modelTests=false,modelDocs=false,apiDocs=false,apiTests=false,supportingFiles \
109- --additional-properties=pythonPackageName=" stackit-${service} ,removeEnumValuePrefix=false" > /dev/null
128+ --additional-properties=pythonPackageName=" stackit-${service} ,removeEnumValuePrefix=false" ,pythonPackageVersion= " ${version} " > /dev/null
110129
111130 # Remove unnecessary files
112131 rm " ${SERVICES_FOLDER} /${service} /.openapi-generator-ignore"
@@ -124,30 +143,12 @@ generate_python_sdk() {
124143 cp -r ${sdk_services_backup_dir} /${service} /src/wait ${SERVICES_FOLDER} /${service} /src/wait
125144 fi
126145
127- # If the service has a README.md file, move them inside the service folder
128- if [ -f ${sdk_services_backup_dir} /${service} /README.md ]; then
129- echo " Found ${service} \" README.md\" file"
130- cp -r ${sdk_services_backup_dir} /${service} /README.md ${SERVICES_FOLDER} /${service} /README.md
131- fi
132-
133- # If the service has a pyproject.toml file, move them inside the service folder
134- if [ -f ${sdk_services_backup_dir} /${service} /pyproject.toml ]; then
135- echo " Found ${service} \" pyproject.toml\" file"
136- cp -r ${sdk_services_backup_dir} /${service} /pyproject.toml ${SERVICES_FOLDER} /${service} /pyproject.toml
137- fi
138-
139146 # If the service has a poetry.lock file, move them inside the service folder
140147 if [ -f ${sdk_services_backup_dir} /${service} /poetry.lock ]; then
141148 echo " Found ${service} \" poetry.lock\" file"
142149 cp -r ${sdk_services_backup_dir} /${service} /poetry.lock ${SERVICES_FOLDER} /${service} /poetry.lock
143150 fi
144151
145- # If the service has a CHANGELOG file, move it inside the service folder
146- if [ -f ${sdk_services_backup_dir} /${service} /CHANGELOG.md ]; then
147- echo " Found ${service} \" CHANGELOG\" file"
148- cp -r ${sdk_services_backup_dir} /${service} /CHANGELOG.md ${SERVICES_FOLDER} /${service} /CHANGELOG.md
149- fi
150-
151152 # If the service has a LICENSE file, move it inside the service folder
152153 if [ -f ${sdk_services_backup_dir} /${service} /LICENSE.md ]; then
153154 echo " Found ${service} \" LICENSE\" file"
0 commit comments