aboutsummaryrefslogtreecommitdiffstats
path: root/build/psalm-checker.sh
diff options
context:
space:
mode:
Diffstat (limited to 'build/psalm-checker.sh')
-rwxr-xr-xbuild/psalm-checker.sh31
1 files changed, 31 insertions, 0 deletions
diff --git a/build/psalm-checker.sh b/build/psalm-checker.sh
new file mode 100755
index 00000000000..a56fecebe52
--- /dev/null
+++ b/build/psalm-checker.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
+# SPDX-License-Identifier: AGPL-3.0-or-later
+
+if [ -d "dist" ]; then
+ missing=''
+ for app in apps/*; do
+ if git check-ignore "$app" -q ; then
+ echo "ℹ️ Ignoring non shipped app: $app"
+ continue
+ fi
+
+ grep "directory name=\"$app\"" psalm.xml 2>&1 > /dev/null
+ if [ $? -ne 0 ]; then
+ missing="$missing - $app\n"
+ fi
+ done
+
+ if [ "$missing" = "" ]; then
+ echo "✅ All apps will be linted by psalm"
+ else
+ echo "❌ Following apps are not setup for linting using psalm:"
+ echo -e "$missing"
+ exit 1
+ fi
+else
+ echo "⚠️ This script needs to be executed from the root of the repository"
+ exit 1
+fi
+