cppcheck/runastyle

80 lines
2.0 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
#
# Functions to format C/C++ source code
#
function formatCplusplus {
"$ASTYLE" --options=$RCFILE "$1"
}
function formatCplusplusRecursive {
RCFILE=.astylerc
"$ASTYLE" --options=$RCFILE --recursive "$1"
}
#
# Function to format XML files
#
function formatXML {
xmllint --format -o "$1_" "$1"
if cmp -s "$1_" "$1"; then
rm -f "$1_"
echo Unchanged $1
else
mv -f "$1_" "$1"
echo Formatted $1
fi
}
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 "oss-fuzz/*.cpp"
formatCplusplus "oss-fuzz/*.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"
# 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
formatXML rules/*.xml