#!/usr/bin/env bash set -euo pipefail repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" cd "$repo_root" maximum_lines=3000 failed=0 source_roots=(crates) if [[ -d private/hosted-policy/src ]]; then source_roots+=(private/hosted-policy/src) fi while IFS= read -r -d '' file; do case "$file" in */tests.rs|*/tests/*) continue ;; esac lines="$(wc -l < "$file")" if ((lines > maximum_lines)); then printf '%s has %s lines; production file limit is %s\n' "$file" "$lines" "$maximum_lines" >&2 failed=1 fi done < <(find "${source_roots[@]}" -type f -name '*.rs' -print0) if ((failed)); then exit 1 fi printf 'production source file size guard passed (%s lines maximum)\n' "$maximum_lines"