diff --git a/hack/update-vendor-licenses.sh b/hack/update-vendor-licenses.sh index 50f40ae6878..a8a896281ee 100755 --- a/hack/update-vendor-licenses.sh +++ b/hack/update-vendor-licenses.sh @@ -196,6 +196,20 @@ for PACKAGE in $(go list -m -json all | jq -r .Path | sort -f); do echo "${PACKAGE} doesn't exist in ${DEPS_DIR}, skipping" >&2 continue fi + # Skip a directory if 1) it has no files and 2) all the subdirectories contain a go.mod file. + if [[ -z "$(find "${DEPS_DIR}/${PACKAGE}" -mindepth 1 -maxdepth 1 -type f)" ]]; then + misses_go_mod=false + while read -d "" -r SUBDIR; do + if [[ ! -e "${SUBDIR}/go.mod" ]]; then + misses_go_mod=true + break + fi + done < <(find "${DEPS_DIR}/${PACKAGE}" -mindepth 1 -maxdepth 1 -type d -print0) + if [[ $misses_go_mod = false ]]; then + echo "${PACKAGE} has no files, skipping" >&2 + continue + fi + fi echo "${PACKAGE}" process_content "${PACKAGE}" LICENSE