(List (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS errexit]} ) (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS nounset]} ) (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS pipefail]} ) (= scope= flags=0 words=[] bindings=[('KUBE_ROOT', {[ComSub (Com {[LIT_CHARS dirname]} {[DQ [VarSub BASH_SOURCE]]})] [LIT_CHARS /..]})]) (Com {[LIT_CHARS source]} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /hack/lib/init.sh]]} ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS golang] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS setup_env]} ) (= scope= flags=0 words=[] bindings=[('API_REFERENCE_DOCS_ROOT', {[DQ [VarSub KUBE_ROOT][LIT_CHARS /docs/api-reference]]})]) (= scope= flags=0 words=[] bindings=[('OUTPUT_DIR', {[DQ [VarSub KUBE_ROOT][LIT_CHARS /_tmp/api-reference]]})]) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[VarSub OUTPUT_DIR]} ) (= scope= flags=0 words=[] bindings=[('TMP_ROOT', {[DQ [VarSub KUBE_ROOT][LIT_CHARS /_tmp]]})]) (Com {[LIT_CHARS trap]} {[DQ [LIT_CHARS "rm -rf "][VarSub TMP_ROOT]]} {[LIT_CHARS EXIT]} {[LIT_CHARS SIGINT]} ) (Com {[DQ [LIT_CHARS ./hack/update-api-reference-docs.sh]]} {[DQ [VarSub OUTPUT_DIR]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "diffing "][VarSub API_REFERENCE_DOCS_ROOT][LIT_CHARS " against freshly generated docs"]]} ) (= scope= flags=0 words=[] bindings=[('ret', {[LIT_CHARS 0]})]) (AndOr OP_OR_IF (Com {[LIT_CHARS diff]} {[LIT_CHARS -NauprB]} {[LIT_CHARS -I]} {[SQ ]} {[LIT_CHARS --exclude] [LIT_DBRACKET_LIKE "="] [LIT_OTHER "*"] [LIT_CHARS .md]} {[DQ [VarSub API_REFERENCE_DOCS_ROOT]]} {[DQ [VarSub OUTPUT_DIR]]} ) (= scope= flags=0 words=[] bindings=[('ret', {[VarSub ?]})]) ) (If (DBracket {B2 BINARY_INT_EQ {[VarSub ret]} {[LIT_CHARS 0]}}) (Com {[LIT_CHARS echo]} {[DQ [VarSub API_REFERENCE_DOCS_ROOT][LIT_CHARS " up to date."]]} ) (ElseTrue) (List (Com {[LIT_CHARS echo]} {[DQ [VarSub API_REFERENCE_DOCS_ROOT][LIT_CHARS " is out of date. Please run hack/update-api-reference-docs.sh"]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) )