xref: /aosp_15_r20/external/flashrom/util/lint/helper_functions.sh (revision 0d6140be3aa665ecc836e8907834fcd3e3b018fc)
1*0d6140beSAndroid Build Coastguard Worker#!/usr/bin/env sh
2*0d6140beSAndroid Build Coastguard Worker#
3*0d6140beSAndroid Build Coastguard Worker# SPDX-License-Identifier: GPL-2.0-only
4*0d6140beSAndroid Build Coastguard Worker
5*0d6140beSAndroid Build Coastguard Worker# This file is sourced by the linters so that each one doesn't have to
6*0d6140beSAndroid Build Coastguard Worker# specify these routines individually
7*0d6140beSAndroid Build Coastguard Worker
8*0d6140beSAndroid Build Coastguard WorkerLC_ALL=C export LC_ALL
9*0d6140beSAndroid Build Coastguard Worker
10*0d6140beSAndroid Build Coastguard Workerif [ -z "$GIT" ]; then
11*0d6140beSAndroid Build Coastguard Worker	GIT="$(command -v git)"
12*0d6140beSAndroid Build Coastguard Workerelse
13*0d6140beSAndroid Build Coastguard Worker	# If git is specified, Do a basic check that it runs and seems like
14*0d6140beSAndroid Build Coastguard Worker	# it's actually git
15*0d6140beSAndroid Build Coastguard Worker	if ! "${GIT}" --version | grep -q git; then
16*0d6140beSAndroid Build Coastguard Worker		echo "Error: ${GIT} does not seem to be valid."
17*0d6140beSAndroid Build Coastguard Worker		exit 1;
18*0d6140beSAndroid Build Coastguard Worker	fi
19*0d6140beSAndroid Build Coastguard Workerfi
20*0d6140beSAndroid Build Coastguard Worker
21*0d6140beSAndroid Build Coastguard Workerif [ "$(${GIT} rev-parse --is-inside-work-tree 2>/dev/null)" = "true" ]; then
22*0d6140beSAndroid Build Coastguard Worker	IN_GIT_TREE=1
23*0d6140beSAndroid Build Coastguard Workerelse
24*0d6140beSAndroid Build Coastguard Worker	IN_GIT_TREE=0
25*0d6140beSAndroid Build Coastguard Workerfi
26*0d6140beSAndroid Build Coastguard Worker
27*0d6140beSAndroid Build Coastguard Workerif [ "${IN_GIT_TREE}" -eq 1 ] && [ -z "${GIT}" ]; then
28*0d6140beSAndroid Build Coastguard Worker	echo "This test needs git to run.  Please install it, then run this test again."
29*0d6140beSAndroid Build Coastguard Worker	exit 1
30*0d6140beSAndroid Build Coastguard Workerfi
31*0d6140beSAndroid Build Coastguard Worker
32*0d6140beSAndroid Build Coastguard Worker# Use git ls-files if the code is in a git repo, otherwise use find.
33*0d6140beSAndroid Build Coastguard Workerif [ "${IN_GIT_TREE}" -eq 1 ]; then
34*0d6140beSAndroid Build Coastguard Worker	FIND_FILES="${GIT} ls-files"
35*0d6140beSAndroid Build Coastguard Workerelse
36*0d6140beSAndroid Build Coastguard Worker	FIND_FILES="find "
37*0d6140beSAndroid Build Coastguard Worker	FINDOPTS="-type f"
38*0d6140beSAndroid Build Coastguard Workerfi
39*0d6140beSAndroid Build Coastguard Worker
40*0d6140beSAndroid Build Coastguard Worker# Use git grep if the code is in a git repo, otherwise use grep.
41*0d6140beSAndroid Build Coastguard Workerif [ "${IN_GIT_TREE}" -eq 1 ]; then
42*0d6140beSAndroid Build Coastguard Worker	GREP_FILES="${GIT} grep"
43*0d6140beSAndroid Build Coastguard Workerelse
44*0d6140beSAndroid Build Coastguard Worker	GREP_FILES="grep -r"
45*0d6140beSAndroid Build Coastguard Workerfi
46