@@ -22,7 +22,7 @@ usage() {
22
22
# Default values
23
23
PYTHON=false
24
24
TYPESCRIPT=false
25
- OUTPUT_DIR=" ./output "
25
+ OUTPUT_DIR=" " # No default output directory since we have dedicated package directories
26
26
OPENAPI_FILE=" build/smithyprojections/api-model/openapi/openapi/EqualIQ.openapi.json"
27
27
28
28
# Parse command-line arguments
@@ -60,8 +60,10 @@ if [[ ! -f "$OPENAPI_FILE" ]]; then
60
60
exit 1
61
61
fi
62
62
63
- # Create output directory
64
- mkdir -p " $OUTPUT_DIR "
63
+ # Create output directory if specified
64
+ if [[ -n " $OUTPUT_DIR " ]]; then
65
+ mkdir -p " $OUTPUT_DIR "
66
+ fi
65
67
66
68
# Generate Python models with a dedicated container build
67
69
if [[ " $PYTHON " == " true" ]]; then
97
99
# Ensure the python package directory exists
98
100
mkdir -p " $PYTHON_PACKAGE_DIR "
99
101
100
- # Write output to both the specified output directory and the python package
101
- docker run --rm equaliq-python-codegen > " $OUTPUT_DIR /models.py"
102
+ # Always write to the python package directory
102
103
docker run --rm equaliq-python-codegen > " $PYTHON_PACKAGE_DIR /models.py"
103
104
105
+ # Write to additional output directory if specified
106
+ if [[ -n " $OUTPUT_DIR " ]]; then
107
+ mkdir -p " $OUTPUT_DIR "
108
+ docker run --rm equaliq-python-codegen > " $OUTPUT_DIR /models.py"
109
+ fi
110
+
104
111
# Clean up
105
112
docker rmi equaliq-python-codegen > /dev/null 2>&1
106
113
rm -rf " $TEMP_DIR "
107
114
108
- echo " ✅ Python models generated in:"
109
- echo " - $OUTPUT_DIR /models.py"
110
- echo " - $PYTHON_PACKAGE_DIR /models.py (Python package)"
115
+ echo " ✅ Python models generated in $PYTHON_PACKAGE_DIR / package"
116
+ if [[ -n " $OUTPUT_DIR " ]]; then
117
+ echo " - Additional output written to $OUTPUT_DIR /models.py"
118
+ fi
111
119
fi
112
120
113
121
# Generate TypeScript types with a dedicated container build
@@ -185,26 +193,30 @@ EOF
185
193
# Ensure the typescript package directory exists
186
194
mkdir -p " $TYPESCRIPT_PACKAGE_DIR "
187
195
188
- # Create output directory and typescript package directory
189
- mkdir -p " $OUTPUT_DIR "
190
- mkdir -p " $TYPESCRIPT_PACKAGE_DIR "
191
-
192
- # Get the models.ts file
193
- docker run --rm equaliq-ts-codegen cat /app/models.ts > " $OUTPUT_DIR /models.ts"
196
+ # Always write to the typescript package directory
194
197
docker run --rm equaliq-ts-codegen cat /app/models.ts > " $TYPESCRIPT_PACKAGE_DIR /models.ts"
195
-
196
- # Get the index.ts file
197
- docker run --rm equaliq-ts-codegen cat /app/index.ts > " $OUTPUT_DIR /index.ts"
198
198
docker run --rm equaliq-ts-codegen cat /app/index.ts > " $TYPESCRIPT_PACKAGE_DIR /index.ts"
199
199
200
+ # Write to additional output directory if specified
201
+ if [[ -n " $OUTPUT_DIR " ]]; then
202
+ mkdir -p " $OUTPUT_DIR "
203
+ docker run --rm equaliq-ts-codegen cat /app/models.ts > " $OUTPUT_DIR /models.ts"
204
+ docker run --rm equaliq-ts-codegen cat /app/index.ts > " $OUTPUT_DIR /index.ts"
205
+ fi
206
+
200
207
# Clean up
201
208
docker rmi equaliq-ts-codegen > /dev/null 2>&1
202
209
rm -rf " $TEMP_DIR "
203
210
204
- echo " ✅ TypeScript types generated in:"
205
- echo " - $OUTPUT_DIR /models.ts and $OUTPUT_DIR /index.ts"
206
- echo " - $TYPESCRIPT_PACKAGE_DIR / (TypeScript package)"
211
+ echo " ✅ TypeScript types generated in $TYPESCRIPT_PACKAGE_DIR / package"
212
+ if [[ -n " $OUTPUT_DIR " ]]; then
213
+ echo " - Additional output written to $OUTPUT_DIR /"
214
+ fi
207
215
echo " - All schema types are automatically exported as top-level types"
208
216
fi
209
217
210
- echo " Done! Generated files are in $OUTPUT_DIR "
218
+ if [[ -n " $OUTPUT_DIR " ]]; then
219
+ echo " Done! Generated files are in $OUTPUT_DIR "
220
+ else
221
+ echo " Done! Generated files are in python/ and typescript/ packages"
222
+ fi
0 commit comments