blob: 0e3c58260801c805e59b197e92125798f3a4e3c2 [file] [log] [blame]
#!/bin/bash
# Copyright 2020 The IREE Authors
#
# Licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
# Checks for tabs in files modified vs the specified reference commit (default
# "main")
set -o pipefail
BASE_REF="${1:-main}"
declare -a excluded_files_patterns=(
"^\.gitmodules$"
"/third_party/"
"^third_party/"
"*Makefile*"
# Symlinks make grep upset
"^integrations/tensorflow/iree-dialects$"
)
# Join on |
excluded_files_pattern="$(IFS="|" ; echo "${excluded_files_patterns[*]?}")"
readarray -t files < <(\
(git diff --name-only --diff-filter=d "${BASE_REF}" || kill $$) \
| grep -v -E "${excluded_files_pattern?}")
if (( ${#files[@]} == 0 )); then
exit 0
fi;
diff="$(grep --with-filename --line-number --perl-regexp --binary-files=without-match '\t' "${files[@]}")"
grep_exit="$?"
if (( "${grep_exit?}" >= 2 )); then
exit "${grep_exit?}"
fi
if (( "${grep_exit?}" == 0 )); then
echo "Changed files include tabs. Please use spaces.";
echo "$diff"
exit 1;
fi