coreboot-kgpe-d16/util/lint/helper_functions.sh
Martin Roth d81debd946 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>
2022-09-30 19:19:53 +00:00

44 lines
1 KiB
Bash

#!/usr/bin/env sh
#
# SPDX-License-Identifier: GPL-2.0-only
# This file is sourced by the linters so that each one doesn't have to
# specify these routines individually
LC_ALL=C export LC_ALL
if [ -z "$GIT" ]; then
GIT="$(command -v git)"
else
# If git is specified, Do a basic check that it runs and seems like
# it's actually git
if ! "${GIT}" --version | grep -q git; then
echo "Error: ${GIT} does not seem to be valid."
exit 1;
fi
fi
if [ "$(${GIT} rev-parse --is-inside-work-tree 2>/dev/null)" = "true" ]; then
IN_GIT_TREE=1
else
IN_GIT_TREE=0
fi
if [ "${IN_GIT_TREE}" -eq 1 ] && [ -z "${GIT}" ]; then
echo "This test needs git to run. Please install it, then run this test again."
exit 1
fi
# Use git ls-files if the code is in a git repo, otherwise use find.
if [ "${IN_GIT_TREE}" -eq 1 ]; then
FIND_FILES="${GIT} ls-files"
else
FIND_FILES="find src"
fi
# Use git grep if the code is in a git repo, otherwise use grep.
if [ "${IN_GIT_TREE}" -eq 1 ]; then
GREP_FILES="${GIT} grep"
else
GREP_FILES="grep -r"
fi