util/lint: Update tools that use git to use a library
Each of the tools that used git had similar functionality. This combines all of that into a single script that gets sourced by each. This makes maintenance much easier. By doing this and updating each of the scripts to do the correct thing if the script isn't being run in a git repository, it makes them work much better for the releases, which are just released as a tarball, without any attached git repository. Change-Id: I61ba1cc4f7205e0d4baf993588bbc774120405cb Signed-off-by: Martin Roth <martin@coreboot.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/64973 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
This commit is contained in:
committed by
Martin L Roth
parent
7726a7f272
commit
d81debd946
@@ -4,18 +4,22 @@
|
||||
|
||||
# DESCR: Check for non-ASCII and unprintable characters
|
||||
|
||||
LC_ALL=C export LC_ALL
|
||||
LINTDIR="$(
|
||||
cd -- "$(dirname "$0")" > /dev/null 2>&1 || return
|
||||
pwd -P
|
||||
)"
|
||||
|
||||
# shellcheck source=helper_functions.sh
|
||||
. "${LINTDIR}/helper_functions.sh"
|
||||
|
||||
INCLUDED_FILES='\.[chsS]$\|\.asl$\|\.cb$\|\.inc$\|Kconfig\|\.ld$|\.txt\|\.hex'
|
||||
EXCLUDED_DIRS='^payloads/external/\|^src/vendorcode/\|^Documentation/'
|
||||
EXCLUDED_FILES='to-wiki/towiki\.sh$\|vga/vga_font\|video/font\|PDCurses.*x11'
|
||||
EXCLUDED_PHRASES='Copyright\|Ported to\|Intel®\|°C\|°F\|Athlon™\|Copyright.*©'
|
||||
|
||||
# Exit if git isn't present or the code isn't in a git repo
|
||||
if [ -z "$(command -v git)" ] || \
|
||||
[ "$(git rev-parse --is-inside-work-tree 2>/dev/null)" != "true" ]
|
||||
then
|
||||
exit
|
||||
# Exit if the code isn't in a git repo
|
||||
if [ "${IN_GIT_TREE}" -eq 0 ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 1. Get the list of files to parse and send them through grep
|
||||
@@ -25,7 +29,7 @@ fi
|
||||
# 4. Run the result through grep again to highlight the issues that were
|
||||
# found. Without this step, the characters can be difficult to see.
|
||||
# shellcheck disable=SC2046
|
||||
git grep -lP "[^\t-~]" | \
|
||||
${GREP_FILES} -lP "[^\t-~]" | \
|
||||
grep "$INCLUDED_FILES" | \
|
||||
grep -v "$EXCLUDED_DIRS" | \
|
||||
grep -v "$EXCLUDED_FILES" | \
|
||||
|
Reference in New Issue
Block a user