Skip to content

Commit f448b74

Browse files
committed
Create pyproject.toml via mustache file
There was already a mustache file to generate the pyproject.toml but this generation was never triggered. In order to get rid of the 'project name' is missing errors via pip install the generation is needed to add this to the pyproject.toml. Furthermore the version of each service has to be extracted from the changelog. Signed-off-by: Alexander Dahmen <alexander.dahmen@inovex.de>
1 parent 07ae963 commit f448b74

File tree

2 files changed

+24
-20
lines changed

2 files changed

+24
-20
lines changed

scripts/generate-sdk/languages/python.sh

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -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"

templates/python/pyproject.mustache

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
1+
[project]
2+
name = "{{{pythonPackageName}}}"
3+
14
[tool.poetry]
25
name = "{{{pythonPackageName}}}"
3-
version = "v0.0.1a"
6+
version = "{{pythonPackageVersion}}"
47
authors = [
58
"STACKIT Developer Tools <developer-tools@stackit.cloud>",
69
]

0 commit comments

Comments
 (0)