cppcheck/runastyle

72 lines
1.8 KiB
Bash
Executable File

#!/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