#!/usr/bin/env bash set -euo pipefail cd "$(git rev-parse --show-toplevel)" mapfile -t files < \ <(git ls-files) mapfile -t scripts < \ <(awk '/#!\/usr\/bin\/env/&&FNR==1{print FILENAME}' "${files[@]}") mapfile -t buildfiles < \ <(find . \( -name 'WORKSPACE' -o -name 'BUILD' -o -name '*.bzl' \)) >&2 echo "shellcheck" for f in "${scripts[@]}"; do >&2 echo " $f"; done shellcheck -x "${scripts[@]}" >&2 echo -e "OK\n" >&2 echo "buildifier" for f in "${buildfiles[@]}"; do >&2 echo " $f"; done buildifier "${buildfiles[@]}" >&2 echo -e "OK\n"