Source commit: 09ca780bd67a00467e78139cf38466b8201b66ca Public tree identity: sha256:2f744c260b5fc2cf074ad9129f97f87f03714902e5b9fe174128afdc342ec2d0
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"
|