Source commit: be8720d92b1c2795f3e5903d8c1a65d70adfd095 Public tree identity: sha256:9503bb4414b023fea6500688ef0931a7f6b4c940c509fdf96c8bf3a8950e207c
27 lines
723 B
Bash
Executable file
27 lines
723 B
Bash
Executable file
#!/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"
|