adaptive-lighting/scripts/setup-symlinks
Ahmad Tawakol 3e78ac7e21
Make scripts/setup-symlinks idempotent (#1590)
`ln -fs` dereferences an existing symlink to a directory and creates the
new link *inside* it, so running the script a second time left two stray
symlinks in the working tree instead of replacing the existing ones:

    tests/tests -> ../../../tests/
    custom_components/adaptive_lighting/adaptive_lighting
        -> ../../../custom_components/adaptive_lighting

Neither path is gitignored, so `git add -A` commits them.

Add `-n` so an existing symlink is treated as a file and replaced.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-09-08 14:02:45 +02:00

18 lines
531 B
Bash
Executable file

#!/usr/bin/env bash
set -ex
cd "$(dirname "$0")/.."
# '-n' keeps a re-run idempotent: without it 'ln -fs' follows an existing
# symlink and creates the new link *inside* the target directory, leaving a
# stray 'tests/tests' and 'custom_components/adaptive_lighting/adaptive_lighting'
# in the working tree.
# Link custom components
cd core/homeassistant/components/
ln -fsn ../../../custom_components/adaptive_lighting adaptive_lighting
cd -
# Link tests
cd core/tests/components/
ln -fsn ../../../tests/ adaptive_lighting
cd -