45 lines
1.3 KiB
Bash
45 lines
1.3 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
root_dir="$(cd -- "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
config="$root_dir/go/config.yaml"
|
|
spec="${STELLA_OAS_FILE:-}"
|
|
|
|
if [ -z "$spec" ]; then
|
|
echo "STELLA_OAS_FILE is required (path to OpenAPI spec)" >&2
|
|
exit 1
|
|
fi
|
|
|
|
output_dir="${STELLA_SDK_OUT:-$root_dir/out/go}"
|
|
mkdir -p "$output_dir"
|
|
|
|
# Ensure postprocess copies shared helpers into the generated tree
|
|
export STELLA_POSTPROCESS_ROOT="$output_dir"
|
|
export STELLA_POSTPROCESS_LANG="go"
|
|
|
|
JAR="${STELLA_OPENAPI_GENERATOR_JAR:-$root_dir/tools/openapi-generator-cli-7.4.0.jar}"
|
|
if [ ! -f "$JAR" ]; then
|
|
echo "OpenAPI Generator CLI jar not found at $JAR" >&2
|
|
echo "Set STELLA_OPENAPI_GENERATOR_JAR or download to tools/." >&2
|
|
exit 1
|
|
fi
|
|
|
|
JAVA_OPTS="${JAVA_OPTS:-} -Dorg.openapitools.codegen.utils.postProcessFile=$root_dir/postprocess/postprocess.sh"
|
|
export JAVA_OPTS
|
|
|
|
java -jar "$JAR" generate \
|
|
-i "$spec" \
|
|
-g go \
|
|
-c "$config" \
|
|
--skip-validate-spec \
|
|
--enable-post-process-file \
|
|
--global-property models,apis,supportingFiles \
|
|
-o "$output_dir"
|
|
|
|
# Ensure shared helpers are present even if upstream post-process hooks were skipped for some files
|
|
if [ -d "$output_dir" ]; then
|
|
"$root_dir/postprocess/postprocess.sh" "$output_dir/client.go" 2>/dev/null || true
|
|
fi
|
|
|
|
echo "Go SDK generated at $output_dir"
|