Major refactoring effort underway.
This commit is contained in:
68
scripts/check-code.sh
Executable file
68
scripts/check-code.sh
Executable file
@@ -0,0 +1,68 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
######################################################################
|
||||
# @author : kyle (kyle@midgard)
|
||||
# @file : check-code
|
||||
# @created : Tuesday Oct 17, 2023 22:39:39 PDT
|
||||
#
|
||||
# @description :
|
||||
######################################################################
|
||||
|
||||
|
||||
run_clang_tidy () {
|
||||
sources="${1:-*.cc}"
|
||||
echo "[+] clang-tidy ${sources}"
|
||||
|
||||
if [ ! -e compile_commands.json ]
|
||||
then
|
||||
echo "[!] compile_commands.json not found" > /dev/stderr
|
||||
candidate=$(find -name compile_commands.json | head)
|
||||
|
||||
if [ -z "${candidates}" ]
|
||||
then
|
||||
echo "[!] no suitable candidates found; can't proceed" > /dev/stderr
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "[+] compile_commands.json candidate: $candidate"
|
||||
ln -s ${candidate} .
|
||||
echo "[+] if this isn't correct, you will need to manually link it"
|
||||
fi
|
||||
|
||||
clang-tidy ${sources}
|
||||
}
|
||||
|
||||
|
||||
run_cppcheck () {
|
||||
sources="${1:-*.cc}"
|
||||
echo "[+] cppcheck ${sources}"
|
||||
|
||||
cppcheck --enable=all --suppress=unusedFunction --suppress=missingIncludeSystem -I. ${sources}
|
||||
}
|
||||
|
||||
|
||||
run_trunk () {
|
||||
sources="${1:-}"
|
||||
echo "[+] trunk check ${sources}"
|
||||
|
||||
trunk check --filter clang-tidy ${sources}
|
||||
}
|
||||
|
||||
|
||||
main () {
|
||||
command="${1:-usage}"
|
||||
shift
|
||||
|
||||
case ${command} in
|
||||
clang-tidy) run_clang_tidy $@ ;;
|
||||
cppcheck) run_cppcheck $@ ;;
|
||||
trunk) run_trunk $@ ;;
|
||||
*)
|
||||
echo "[!] scanner ${command} isn't supported" > /dev/stderr
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
main $@
|
||||
|
||||
Reference in New Issue
Block a user