#!/bin/sh # No Go source file over 400 lines. Reports every offender, then fails. set -u limit=400 bad=0 for f in $(find . -name '*.go' -not -path './.git/*' -not -path './vendor/*'); do n=$(wc -l < "$f") || { echo "check-lines: cannot read $f" >&2; exit 2; } if [ "$n" -gt "$limit" ]; then echo "check-lines: $f has $n lines (limit $limit)" bad=1 fi done [ "$bad" -eq 0 ] || exit 1 echo "check-lines: ok"