41 lines
1.2 KiB
Bash
Executable File
41 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
VERSION=0.1.0
|
|
|
|
# Navigate to project root
|
|
cd "$(dirname "$0")/backend" || exit
|
|
|
|
# Generate OpenAPI JSON file
|
|
python3 main.py generate-openapi
|
|
if [[ ! -f openapi.json ]]; then
|
|
echo "Error: openapi.json file not generated!"
|
|
exit 1
|
|
fi
|
|
|
|
# Download OpenAPI generator CLI if not present
|
|
OPENAPI_VERSION=7.8.0
|
|
if [[ ! -f openapi-generator-cli.jar ]]; then
|
|
wget "https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/${OPENAPI_VERSION}/openapi-generator-cli-${OPENAPI_VERSION}.jar" -O openapi-generator-cli.jar
|
|
fi
|
|
|
|
# Run OpenAPI generator
|
|
java -jar openapi-generator-cli.jar generate \
|
|
-i "$(pwd)/openapi.json" \
|
|
-o python-client/ \
|
|
-g python \
|
|
--additional-properties=packageName=aareDBclient,projectName=aareDB,packageVersion=${VERSION}
|
|
|
|
# Check if the generator succeeded
|
|
if [[ ! -d python-client ]]; then
|
|
echo "OpenAPI generator failed. Exiting."
|
|
exit 1
|
|
fi
|
|
|
|
# Build Python package
|
|
cd python-client || exit
|
|
python3 -m venv .venv
|
|
source .venv/bin/activate
|
|
pip install -U pip build
|
|
python -m build
|
|
|
|
# Skip uploading the package. This will happen in the release stage.
|
|
echo "Python client generated and package built successfully." |