#!/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"