lint-missing-resources.sh 659 B

12345678910111213141516171819
  1. #!/usr/bin/env bash
  2. set -eo pipefail
  3. script_path=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
  4. cd "$script_path/.."
  5. # The dollar symbol in sed's argument is for "end of line", not any shell variable.
  6. # shellcheck disable=SC2016
  7. grep -Eirh '(?<!file://)(?<!\.)(?<!})(?<!\()/(etc|res|usr|www)/' AK/ Base DevTools/ Documentation/ Kernel/ Services/ Userland/ | \
  8. sed -re 's,^.*["= `]/([^"%`: ]+[^"%`: /.])/?(["%`: .].*)?$,\1,' | \
  9. sort -u | \
  10. while read -r referenced_resource
  11. do
  12. if ! [ -r "Base/${referenced_resource}" ] && ! [ -r "Build/Root/${referenced_resource}" ]
  13. then
  14. echo "Potentially missing resource: ${referenced_resource}"
  15. fi
  16. done