#!/usr/bin/env bash

set -uo pipefail

: "${WEBROOT:?WEBROOT must be defined}"
: "${CIVICRM_ROOT:?CIVICRM_ROOT must be defined}"

# Find all civicrm-extend folders located under the $WEBROOT directory
find "$WEBROOT" \
  -maxdepth 5 \
  -type d \
  -path '*civicrm-extend/*' \
  -print0 | uniq |

while IFS= read -r -d '' extension_dir; do
  # Only process immediate child directories of civicrm-extend.
  [[ "$(basename "$(dirname "$extension_dir")")" == "civicrm-extend" ]] || continue

  echo "Reviewing: $extension_dir ..."
  find "$extension_dir" \
    -type d -name vendor -prune -o \
    -type d -name mixin -prune -o \
    -type d -name css -prune -o \
    -type d -name js -prune -o \
    -type f -print0 |

  while IFS= read -r -d '' extension_file; do
    relative_path="${extension_file#"$extension_dir"/}"

    # Ignore files at the extension root
    [[ "$relative_path" == */* ]] || continue
    if [[ -f "$CIVICRM_ROOT/$relative_path" ]]; then
      printf '==> %s\n' "$relative_path"
    fi
  done
  echo
done