mirror of
https://github.com/home-assistant/core.git
synced 2026-08-14 09:13:06 +01:00
38 lines
1.0 KiB
Bash
Executable File
38 lines
1.0 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
integrations=""
|
|
integration_path=""
|
|
core_path_provided=false
|
|
|
|
for arg in "$@"; do
|
|
case "$arg" in
|
|
--core-path=*)
|
|
core_path_provided=true
|
|
break
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if [ "$core_path_provided" = false ]; then
|
|
# Manifest discovery is limited to the two documented custom-integration
|
|
# locations rather than anywhere in the repo, to avoid misvalidating
|
|
# unrelated files that happen to share the filename.
|
|
manifests=$(
|
|
{ [ -d custom_components ] && find custom_components -mindepth 2 -maxdepth 2 -name "manifest.json"
|
|
find . -maxdepth 1 -name "manifest.json"; } 2>/dev/null
|
|
)
|
|
|
|
for manifest in $manifests; do
|
|
manifest_path=$(realpath "${manifest}")
|
|
integrations="$integrations --integration-path ${manifest_path%/*}"
|
|
done
|
|
|
|
if [ -z "$integrations" ]; then
|
|
echo "Error: No integrations found!"
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
cd /usr/src/homeassistant || exit 1
|
|
exec python3 -m script.hassfest --action validate $integrations "$@"
|