coreboot-kgpe-d16/util/lint/helper_functions.sh
Martin Roth 95b5b025a0 util/lint: Fix linting outside of git repos
If the coreboot code is not in a git repository, the linters switch
from using `git ls-files` to find.  This requires some changes to
prevent the linters from looking at the wrong files which are
automatically excluded by git.

Signed-off-by: Martin Roth <gaumless@gmail.com>
Change-Id: I81d138760c29a7c476280bb9d963f6be99c75d6d
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68475
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Reviewed-by: Fred Reitberger <reitbergerfred@gmail.com>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-10-21 14:30:42 +00:00

45 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 "
FINDOPTS="-type f"
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