hledger/tools/checkembeddedfiles

22 lines
615 B
Plaintext
Raw Normal View History

2023-06-02 20:49:18 +03:00
#!/usr/bin/env bash
# Check that all files embedded with file-embed are declared in extra-source-files
set -e
rg="rg --sort=path"
$rg --version >/dev/null
2023-06-02 20:49:18 +03:00
echo "Checking embedded file declarations:"
# shellcheck disable=SC2016
mapfile -t embeddedfiles < <($rg -I '^ +\$\(embedFileRelative "([^"]+)"' -or '$1')
2023-06-02 20:49:18 +03:00
status=0
for f in "${embeddedfiles[@]}"; do
if output=$($rg -l "$f" -- */package.yaml); then
2023-06-02 20:49:18 +03:00
printf '%-40s\tdeclared in %s\n' "$f" "$output"
else
printf '%-40s\tUNDECLARED\n' "$f"
status=1
fi;
done
if [[ $status != 0 ]]; then echo FAIL; else echo ok; fi
exit $status