OpenFPGA/dev/check-format.sh

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