summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
Diffstat (limited to 'build')
-rwxr-xr-xbuild/openapi-checker.sh26
1 files changed, 26 insertions, 0 deletions
diff --git a/build/openapi-checker.sh b/build/openapi-checker.sh
new file mode 100755
index 00000000000..afe55c4a269
--- /dev/null
+++ b/build/openapi-checker.sh
@@ -0,0 +1,26 @@
+#!/usr/bin/env bash
+
+for path in core/openapi.json apps/*/openapi.json; do
+ composer exec generate-spec "$(dirname "$path")" "$path" || exit 1
+done
+
+files="$(git diff --name-only)"
+changed=false
+for file in $files; do
+ if [[ $file == *"openapi.json" ]]; then
+ changed=true
+ break
+ fi
+done
+
+if [ $changed = true ]
+then
+ git diff
+ echo "The OpenAPI specifications are not up to date"
+ echo "Please run: bash build/openapi-checker.sh"
+ echo "And commit the result"
+ exit 1
+else
+ echo "OpenAPI specifications up to date. Carry on"
+ exit 0
+fi