#!/bin/bash # The version check in this script is used to avoid commit battles # between different developers that use different astyle versions as # different versions might have different output (this has happened in # the past). # If project management wishes to take a newer astyle version into use # just change this string to match the start of astyle version string. ASTYLE_VERSION="3.0.1" ASTYLE="${ASTYLE-astyle}" DETECTED_VERSION=$("$ASTYLE" --version 2>&1 | awk '{ print $NF; }') if [ "$DETECTED_VERSION" != "${ASTYLE_VERSION}" ]; then echo "You should use version: ${ASTYLE_VERSION}" echo "Detected version: ${DETECTED_VERSION}" exit 1 fi RCFILE=.astylerc function formatCplusplus { "$ASTYLE" --options=$RCFILE "$1" } function formatCplusplusRecursive { RCFILE=.astylerc "$ASTYLE" --options=$RCFILE --recursive "$1" } formatCplusplus cli/*.cpp formatCplusplus cli/*.h formatCplusplus democlient/*.cpp formatCplusplus gui/*.cpp formatCplusplus gui/*.h formatCplusplusRecursive "gui/test/*.cpp" formatCplusplusRecursive "gui/test/*.h" formatCplusplus lib/*.cpp formatCplusplus lib/*.h formatCplusplus test/*.cpp formatCplusplus test/cfg/*.c formatCplusplus test/cfg/*.cpp formatCplusplus test/*.h formatCplusplus tools/*.cpp formatCplusplusRecursive "tools/*.h" formatCplusplusRecursive "samples/*.c" formatCplusplusRecursive "samples/*.cpp" # Convert tabs to spaces.. even in strings # sed -i "s/\t/ /g" test/test*.cpp function formatXML { xmllint --format -o "$1_" "$1" if cmp -s "$1_" "$1"; then rm -f "$1_" else mv -f "$1_" "$1" fi } # format config files # TODO: use other tool than xmllint? use tabs instead of spaces? for CFGFILE in cfg/*.cfg do formatXML "$CFGFILE" done for PLATFORMFILE in platforms/*.xml do formatXML "$PLATFORMFILE" done formatXML man/cppcheck.1.xml formatXML cppcheck-errors.rng