forked from coreos/ignition
-
Notifications
You must be signed in to change notification settings - Fork 0
/
generate
executable file
·29 lines (24 loc) · 903 Bytes
/
generate
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
#!/usr/bin/env bash
set -eu
# This script uses schematyper, which must be installed and in the PATH, to
# convert the json schema stored in schema/ignition.json into go structs for
# json deserialization in config/types/schema.go.
#
# This script should be run whenever schema/ignition.json is modified.
hash schematyper 2>/dev/null || {
echo >&2 "schematyper must be installed and in the PATH to use this script: https://github.com/idubinskiy/schematyper"
exit 1
}
specs="v3_0 v3_1 v3_2 v3_3 v3_4 v3_5_experimental"
for spec in $specs
do
echo "Generating $spec schema..."
schematyper --package=types "config/${spec}/schema/ignition.json" -o "config/${spec}/types/schema.go" --root-type=Config
done
echo "Generating docs..."
eval $(go env)
if [ -z ${BIN_PATH+a} ]; then
export BIN_PATH=${PWD}/bin/${GOARCH}
fi
go build -o ${BIN_PATH}/doc internal/doc/main.go
${BIN_PATH}/doc ${PWD}/docs