Files
NixMsg/taskfiles/sdk-check.sh

39 lines
910 B
Bash

#!/bin/sh
set -e
skip() { echo "skip $1: $2"; }
if command -v go >/dev/null 2>&1; then
(cd sdk/go && test -z "$(gofmt -l .)" && go vet ./... && go test ./...)
else
skip sdk/go "no go"
fi
if command -v node >/dev/null 2>&1 && [ -d sdk/js/node_modules ]; then
(cd sdk/js && npx --no-install tsc --noEmit && npx --no-install vitest run)
else
skip sdk/js "no node or node_modules"
fi
if command -v python3 >/dev/null 2>&1; then
PY=python3
elif command -v python >/dev/null 2>&1; then
PY=python
else
PY=
fi
if [ -n "$PY" ]; then
if PYTHONPATH=sdk/python/src "$PY" -c "import paho.mqtt.client" >/dev/null 2>&1; then
PYTHONPATH=sdk/python/src "$PY" -m unittest discover -s sdk/python/tests -t sdk/python
else
skip sdk/python "no paho-mqtt"
fi
else
skip sdk/python "no python"
fi
if command -v mvn >/dev/null 2>&1; then
(cd sdk/java && mvn -q test)
else
skip sdk/java "no mvn"
fi