1#!/bin/bash 2 3# This script reformats source files using the clang-format utility. 4# 5# Files are changed in-place, so make sure you don't have anything open in an 6# editor, and you may want to commit before formatting in case of awryness. 7# 8# This must be run on a clean repository to succeed 9# 10# Input parmameter must be full path to git repo to scan 11 12DIR=$1 13cd ${DIR} 14 15set -e 16 17echo "Formatting code under $DIR/" 18 19if [ -f "setup.cfg" ]; then 20 pycodestyle --show-source . 21 rc=$? 22 if [ ${rc} -ne 0 ]; then 23 exit ${rc} 24 fi 25fi 26 27if [ -f ".clang-format" ]; then 28 find . -regextype sed -regex ".*\.[hc]\(pp\)\?" -not -name "*mako*" -print0 |\ 29 xargs -0 "clang-format-6.0" -i 30 git --no-pager diff --exit-code 31fi 32 33# Sometimes your situation is terrible enough that you need the flexibility. 34# For example, phosphor-mboxd. 35if [ -f "format-code.sh" ]; then 36 ./format-code.sh 37 git --no-pager diff --exit-code 38fi 39