@@ -95,6 +95,25 @@ generate_python_sdk() {
95
95
mkdir -p " ${SERVICES_FOLDER} /${service} /"
96
96
cp " ${ROOT_DIR} /scripts/generate-sdk/.openapi-generator-ignore-python" " ${SERVICES_FOLDER} /${service} /.openapi-generator-ignore"
97
97
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
+
98
117
# Run the generator
99
118
java -Dlog.level=${GENERATOR_LOG_LEVEL} -jar ${jar_path} generate \
100
119
--generator-name python \
@@ -106,7 +125,7 @@ generate_python_sdk() {
106
125
--git-user-id ${GIT_USER_ID} \
107
126
--git-repo-id ${GIT_REPO_ID} \
108
127
--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
110
129
111
130
# Remove unnecessary files
112
131
rm " ${SERVICES_FOLDER} /${service} /.openapi-generator-ignore"
@@ -124,30 +143,12 @@ generate_python_sdk() {
124
143
cp -r ${sdk_services_backup_dir} /${service} /src/wait ${SERVICES_FOLDER} /${service} /src/wait
125
144
fi
126
145
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
-
139
146
# If the service has a poetry.lock file, move them inside the service folder
140
147
if [ -f ${sdk_services_backup_dir} /${service} /poetry.lock ]; then
141
148
echo " Found ${service} \" poetry.lock\" file"
142
149
cp -r ${sdk_services_backup_dir} /${service} /poetry.lock ${SERVICES_FOLDER} /${service} /poetry.lock
143
150
fi
144
151
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
-
151
152
# If the service has a LICENSE file, move it inside the service folder
152
153
if [ -f ${sdk_services_backup_dir} /${service} /LICENSE.md ]; then
153
154
echo " Found ${service} \" LICENSE\" file"
0 commit comments