mirror of
https://github.com/FeralInteractive/gamemode.git
synced 2025-06-03 06:07:20 +02:00
37 lines
945 B
Bash
Executable File
37 lines
945 B
Bash
Executable File
#!/bin/bash
|
|
# Simple script to check for clang-format compliance
|
|
|
|
# Ensure we are at the project root
|
|
cd "$(dirname $0)"/..
|
|
|
|
if [[ "$1" == "--pre-commit" ]]; then
|
|
# used via .git/hooks/pre-commit:
|
|
# exec "$(dirname $0)"/../../scripts/format-check.sh --pre-commit
|
|
git-clang-format
|
|
exit
|
|
fi
|
|
|
|
if [[ "$CI" == "true" ]]; then
|
|
# used in ci, assumes clean repo
|
|
clang-format -i $(find . -name '*.[ch]' -not -path "*subprojects/*")
|
|
GIT_DIFF_OUTPUT=$(git diff)
|
|
if [[ ! -z ${GIT_DIFF_OUTPUT} ]]; then
|
|
echo "Failed clang format check:"
|
|
echo "${GIT_DIFF_OUTPUT}"
|
|
exit 1
|
|
else
|
|
echo "Passed clang format check"
|
|
exit 0
|
|
fi
|
|
fi
|
|
|
|
CLANG_FORMAT_OUTPUT=$(git-clang-format HEAD^ HEAD --diff)
|
|
if [[ ! ${CLANG_FORMAT_OUTPUT} == "no modified files to format" ]] && [[ ! -z ${CLANG_FORMAT_OUTPUT} ]]; then
|
|
echo "Failed clang format check:"
|
|
echo "${CLANG_FORMAT_OUTPUT}"
|
|
exit 1
|
|
else
|
|
echo "Passed clang format check"
|
|
exit 0
|
|
fi
|