|
|
|
@ -3,38 +3,33 @@ |
|
|
|
# SPDX-FileCopyrightText: 2019 yuzu Emulator Project |
|
|
|
# SPDX-License-Identifier: GPL-2.0-or-later |
|
|
|
|
|
|
|
if grep -nrI '\s$' src *.yml *.txt *.md Doxyfile .gitignore .gitmodules .ci* dist/*.desktop \ |
|
|
|
shopt -s nullglob globstar |
|
|
|
|
|
|
|
if grep -nrI '\s$' src **/*.yml **/*.txt **/*.md Doxyfile .gitignore .gitmodules .ci* dist/*.desktop \ |
|
|
|
dist/*.svg dist/*.xml; then |
|
|
|
echo Trailing whitespace found, aborting |
|
|
|
exit 1 |
|
|
|
fi |
|
|
|
|
|
|
|
# Default clang-format points to default 3.5 version one |
|
|
|
CLANG_FORMAT=${CLANG_FORMAT:-clang-format-15} |
|
|
|
$CLANG_FORMAT --version |
|
|
|
|
|
|
|
if [ "$TRAVIS_EVENT_TYPE" = "pull_request" ]; then |
|
|
|
# Get list of every file modified in this pull request |
|
|
|
files_to_lint="$(git diff --name-only --diff-filter=ACMRTUXB $TRAVIS_COMMIT_RANGE | grep '^src/[^.]*[.]\(cpp\|h\)$' || true)" |
|
|
|
else |
|
|
|
# Check everything for branch pushes |
|
|
|
files_to_lint="$(find src/ -name '*.cpp' -or -name '*.h')" |
|
|
|
fi |
|
|
|
CLANG_FORMAT="${CLANG_FORMAT:-clang-format-15}" |
|
|
|
"$CLANG_FORMAT" --version |
|
|
|
|
|
|
|
# Turn off tracing for this because it's too verbose |
|
|
|
set +x |
|
|
|
|
|
|
|
for f in $files_to_lint; do |
|
|
|
d=$(diff -u "$f" <($CLANG_FORMAT "$f") || true) |
|
|
|
if ! [ -z "$d" ]; then |
|
|
|
echo "!!! $f not compliant to coding style, here is the fix:" |
|
|
|
echo "$d" |
|
|
|
fail=1 |
|
|
|
fi |
|
|
|
# Check everything for branch pushes |
|
|
|
FILES_TO_LINT="$(find src/ -name '*.cpp' -or -name '*.h')" |
|
|
|
|
|
|
|
for f in $FILES_TO_LINT; do |
|
|
|
echo "$f" |
|
|
|
"$CLANG_FORMAT" -i "$f" |
|
|
|
done |
|
|
|
|
|
|
|
set -x |
|
|
|
DIFF=$(git diff) |
|
|
|
|
|
|
|
if [ "$fail" = 1 ]; then |
|
|
|
if [ ! -z "$DIFF" ]; then |
|
|
|
echo "!!! Not compliant to coding style, here is the fix:" |
|
|
|
echo "$DIFF" |
|
|
|
exit 1 |
|
|
|
fi |