chore(dev): enhance sync-hac script to clean up broken symlinks and report changes

This commit is contained in:
Julian Pawlowski 2025-11-16 18:13:29 +00:00
parent 60c3b72932
commit 329f96f2f4

View file

@ -14,6 +14,25 @@ if [ ! -d "config/custom_components" ]; then
exit 0
fi
# Clean up broken symlinks (where target no longer exists)
cleaned=0
if [ -d "custom_components" ]; then
for link in custom_components/*; do
# Skip if not a symlink
if [ ! -L "$link" ]; then
continue
fi
# Check if symlink target exists
if [ ! -e "$link" ]; then
component=$(basename "$link")
rm "$link"
echo " 🗑️ Removed broken link: $component"
cleaned=$((cleaned + 1))
fi
done
fi
# Create symlinks for all integrations in config/custom_components/
# except those that already exist in custom_components/
synced=0
@ -32,8 +51,12 @@ for dir in config/custom_components/*/; do
synced=$((synced + 1))
done
if [ $synced -eq 0 ]; then
echo " No new integrations to sync"
else
if [ $synced -eq 0 ] && [ $cleaned -eq 0 ]; then
echo " No changes needed"
elif [ $synced -gt 0 ] && [ $cleaned -eq 0 ]; then
echo " ✓ Synced $synced integration(s)"
elif [ $synced -eq 0 ] && [ $cleaned -gt 0 ]; then
echo " ✓ Cleaned up $cleaned broken link(s)"
else
echo " ✓ Synced $synced integration(s), cleaned up $cleaned broken link(s)"
fi