simply generator wrapper script

This commit is contained in:
Kenneth Bingham 2025-03-04 18:02:44 -05:00
parent 2f43e92bbb
commit 798f658178
No known key found for this signature in database
GPG Key ID: 31709281860130B6
2 changed files with 15 additions and 29 deletions

View File

@ -2,22 +2,22 @@
set -euo pipefail set -euo pipefail
command -v swagger >/dev/null 2>&1 || { command -v swagger &>/dev/null || {
echo >&2 "command 'swagger' not installed. see: https://github.com/go-swagger/go-swagger for installation" echo >&2 "command 'swagger' not installed. see: https://github.com/go-swagger/go-swagger for installation"
exit 1 exit 1
} }
command -v swagger-codegen 2>&1 || { command -v swagger-codegen &>/dev/null || {
echo >&2 "command 'swagger-codegen' not installed. see: https://github.com/swagger-api/swagger-codegen for installation" echo >&2 "command 'swagger-codegen' not installed. see: https://github.com/swagger-api/swagger-codegen for installation"
exit 1 exit 1
} }
command -v openapi-generator-cli 2>&1 || { command -v openapi-generator-cli &>/dev/null || {
echo >&2 "command 'openapi-generator-cli' not installed. see: https://www.npmjs.com/package/@openapitools/openapi-generator-cli for installation" echo >&2 "command 'openapi-generator-cli' not installed. see: https://www.npmjs.com/package/@openapitools/openapi-generator-cli for installation"
exit 1 exit 1
} }
command -v realpath 2>&1 || { command -v realpath &>/dev/null || {
echo >&2 "command 'realpath' not installed. see: https://www.npmjs.com/package/realpath for installation" echo >&2 "command 'realpath' not installed. see: https://www.npmjs.com/package/realpath for installation"
exit 1 exit 1
} }
@ -26,22 +26,17 @@ scriptPath=$(realpath "$0")
scriptDir=$(dirname "$scriptPath") scriptDir=$(dirname "$scriptPath")
zrokDir=$(realpath "$scriptDir/..") zrokDir=$(realpath "$scriptDir/..")
zrokSpec=$(realpath "$zrokDir/specs/zrok.yml") zrokSpec=$(realpath "$zrokDir/specs/zrok.yml")
echo "...clean generate zrok server/client" # anti-oops in case user runs this script from somewhere else
for genDir in \ if [[ "$(realpath "$zrokDir")" != "$(realpath "$(pwd)")" ]]
./rest_client_zrok/ \
./rest_model_zrok/ \
./rest_server_zrok/
do
if [[ -d $genDir ]]
then then
rm -rf "$genDir" echo "ERROR: must be run from zrok root" >&2
else exit 1
echo "WARN: not deleting $genDir because it does not exist" >&2
fi fi
done
echo "...clean generate zrok server/client"
rm -rf ./rest_*
echo "...generating zrok server" echo "...generating zrok server"
swagger generate server -P rest_model_zrok.Principal -f "$zrokSpec" -s rest_server_zrok -t "$zrokDir" -m "rest_model_zrok" --exclude-main swagger generate server -P rest_model_zrok.Principal -f "$zrokSpec" -s rest_server_zrok -t "$zrokDir" -m "rest_model_zrok" --exclude-main
@ -62,17 +57,8 @@ rm -rf sdk/nodejs/sdk/src/api
openapi-generator-cli generate -i "$zrokSpec" -o sdk/nodejs/sdk/src/api -g typescript-fetch openapi-generator-cli generate -i "$zrokSpec" -o sdk/nodejs/sdk/src/api -g typescript-fetch
echo "...generating python sdk client" echo "...generating python sdk client"
pyMod="sdk/python/src" pyMod="./sdk/python/src"
while IFS= read -r genFile rm -rf "$pyMod"/{zrok_api,docs,test,.gitignore,README.md,requirements.txt}
do
if [[ -e "$pyMod/$genFile" ]]
then
rm -f "$pyMod/$genFile"
fi
done < "$pyMod/.openapi-generator/FILES"
# Delete the tracking file
rm -f "$pyMod/.openapi-generator/FILES"
# Generate and track new files
openapi-generator-cli generate -i "$zrokSpec" -o "$pyMod" -g python \ openapi-generator-cli generate -i "$zrokSpec" -o "$pyMod" -g python \
--package-name zrok_api --additional-properties projectName=zrok --package-name zrok_api --additional-properties projectName=zrok