35 lines
877 B
Bash
Executable File
35 lines
877 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
clean=$(git status -s -uno | wc -l) #Short ignore untracked
|
|
file_pattern="*.cpp *.c *.hpp *.h *.py *.xml"
|
|
|
|
if [ $clean -ne 0 ]; then
|
|
echo "Current working tree was not clean! This tool only works on clean checkouts"
|
|
exit 2
|
|
else
|
|
echo "Code Formatting Check"
|
|
echo "====================="
|
|
make format"$1" > /dev/null 2>&1
|
|
|
|
valid_format=$(git diff ${file_pattern}| wc -l)
|
|
|
|
if [ $valid_format -ne 0 ]; then
|
|
echo "FAILED"
|
|
echo ""
|
|
echo "You *must* make the following changes to match the formatting style"
|
|
echo "-------------------------------------------------------------------"
|
|
echo ""
|
|
|
|
git diff ${file_pattern}
|
|
|
|
echo ""
|
|
echo "Run 'make format$1' to apply these changes"
|
|
|
|
git reset --hard > /dev/null
|
|
exit 1
|
|
else
|
|
echo "OK"
|
|
fi
|
|
fi
|
|
exit 0
|