-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathapi-generate-openapi
executable file
·58 lines (41 loc) · 1.42 KB
/
api-generate-openapi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/usr/bin/env bash
set -eo pipefail
shopt -s inherit_errexit
ROOT=$(cd "$(dirname "${BASH_SOURCE[0]}")"/../ && pwd -P)
SPEC_DIR="${ROOT}/docs/api-reference/spec"
OPENAPI_POST_PROCESS_SCRIPT="${ROOT}/scripts/openapi-post-process.py"
FETCH_SPEC_FILE_SCRIPT="${ROOT}/scripts/fetch-spec-file.py"
#################
## FIREWORK V2 ##
#################
rm -f ${SPEC_DIR}/firework-v2-*
${FETCH_SPEC_FILE_SCRIPT} v2 | jq > ${SPEC_DIR}/firework-v2-swagger.json
if which openapi-generator; then
OPENAPI_GENERATOR_BIN="openapi-generator"
else
OPENAPI_GENERATOR_BIN="openapi-generator-cli"
fi
$OPENAPI_GENERATOR_BIN \
generate \
-g openapi \
-i ${SPEC_DIR}/firework-v2-swagger.json \
-o ${SPEC_DIR}
mv ${SPEC_DIR}/openapi.json ${SPEC_DIR}/firework-v2-openapi.json
${OPENAPI_POST_PROCESS_SCRIPT} ${SPEC_DIR}/firework-v2-openapi.json
#################
## FIREWORK V3 ##
#################
rm -f ${SPEC_DIR}/firework-v3-*
${FETCH_SPEC_FILE_SCRIPT} v3 | jq > ${SPEC_DIR}/firework-v3-swagger.json
$OPENAPI_GENERATOR_BIN \
generate \
-g openapi \
-i ${SPEC_DIR}/firework-v3-swagger.json \
-o ${SPEC_DIR}
mv ${SPEC_DIR}/openapi.json ${SPEC_DIR}/firework-v3-openapi.json
${OPENAPI_POST_PROCESS_SCRIPT} ${SPEC_DIR}/firework-v3-openapi.json
#################
## FIREWORK V4 ##
#################
rm -f ${SPEC_DIR}/firework-v4-*
${FETCH_SPEC_FILE_SCRIPT} v4 | jq > ${SPEC_DIR}/firework-v4-openapi.json