Files
pcsx2/linux_various/check_format.sh
T
Gregory Hainaut 61eddca39d clang format: preliminary support
Add a .clang-format example file. Might need minor tuning. If people doesn't like the syntax

Add a basic script to validate current change is compliant with clang-format
* on master it will test last 20 commits
* on branch it will test all commits of the branch

Idea is to plug it into travis (might require clang 3.8). Everything is blacklisted. Use "ALL" parameters
to test all standard directories.
2016-08-12 20:28:00 +02:00

67 lines
1.9 KiB
Bash
Executable File

#!/bin/sh
ret=0
branch=`git rev-parse --abbrev-ref HEAD`
if [ x$branch = "xmaster" ]
then
# check the last 20 commits. It ought to be enough even for big push
diff_range=HEAD~20
else
# check filed updated in the branch
diff_range="master...HEAD"
fi
# get updates and blacklist directories that don't use yet the clang-format syntax
files=`git diff $diff_range --name-only --diff-filter=ACMRT | \
grep "\.\(c\|h\|inl\|cpp\|hpp\)$" | \
grep -v "${1}common/" | \
grep -v "${1}pcsx2/" | \
grep -v "${1}plugins/cdvdGigaherz/" | \
grep -v "${1}plugins/CDVDiso/" | \
grep -v "${1}plugins/CDVDisoEFP/" | \
grep -v "${1}plugins/CDVDlinuz/" | \
grep -v "${1}plugins/CDVDnull/" | \
grep -v "${1}plugins/CDVDolio/" | \
grep -v "${1}plugins/CDVDpeops/" | \
grep -v "${1}plugins/dev9ghzdrk/" | \
grep -v "${1}plugins/dev9null/" | \
grep -v "${1}plugins/FWnull/" | \
grep -v "${1}plugins/GSdx/" | \
grep -v "${1}plugins/GSdx_legacy/" | \
grep -v "${1}plugins/GSnull/" | \
grep -v "${1}plugins/LilyPad/" | \
grep -v "${1}plugins/onepad/" | \
grep -v "${1}plugins/PadNull/" | \
grep -v "${1}plugins/PeopsSPU2/" | \
grep -v "${1}plugins/SPU2null/" | \
grep -v "${1}plugins/spu2-x/" | \
grep -v "${1}plugins/SSSPSXPAD/" | \
grep -v "${1}plugins/USBnull/" | \
grep -v "${1}plugins/USBqemu/" | \
grep -v "${1}plugins/xpad/" | \
grep -v "${1}plugins/zerogs/" | \
grep -v "${1}plugins/zerospu2/" | \
grep -v "${1}plugins/zzogl-pg/" | \
\
grep -v "3rdpary/" | \
grep -v "bin/" | \
grep -v "cmake/" | \
grep -v "tools/" | \
grep -v "tests/" | \
grep -v "unfree/"
`
# Check remaining files are clang-format compliant
for f in $files
do
clang-format -style=file -output-replacements-xml $f | grep "<replacement " >/dev/null
if [ $? -ne 1 ]
then
echo "file $f did not match clang-format"
ret=1;
fi
done
exit $ret;