blob: 42be8eccfa6e49e167c90deb033d6a618c3ab314 [file] [log] [blame]
#!/bin/bash
# This script reformats source files using the clang-format utility.
#
# Files are changed in-place, so make sure you don't have anything open in an
# editor, and you may want to commit before formatting in case of awryness.
#
# This must be run on a clean repository to succeed
#
# Input parmameter must be full path to git repo to scan
DIR=$1
cd ${DIR}
set -e
echo "Formatting code under $DIR/"
if [ -f "setup.cfg" ]; then
pycodestyle --show-source .
rc=$?
if [ ${rc} -ne 0 ]; then
exit ${rc}
fi
fi
if [ -f ".clang-format" ]; then
find . -regextype sed -regex ".*\.[hc]\(pp\)\?" -not -name "*mako*" -print0 |\
xargs -0 "clang-format-5.0" -i
git --no-pager diff --exit-code
fi
# Sometimes your situation is terrible enough that you need the flexibility.
# For example, phosphor-mboxd.
if [ -f "format-code.sh" ]; then
./format-code.sh
git --no-pager diff --exit-code
fi