1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/dist/tools/uncrustify/uncrustify.sh

47 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
RIOTBASE=$(git rev-parse --show-toplevel)
CURDIR=$(cd "$(dirname "$0")" && pwd)
UNCRUSTIFY_CFG="$RIOTBASE"/uncrustify-riot.cfg
WHITELIST=$CURDIR/whitelist.txt
BLACKLIST=$CURDIR/blacklist.txt
. "$RIOTBASE"/dist/tools/ci/changed_files.sh
# only consider whitelisted stuff, then filter out blacklist
# note: this also applies changed_files' default filter
FILES=$(changed_files | grep -xf "$WHITELIST" | grep -xvf "$BLACKLIST")
check () {
for F in $FILES
do
uncrustify -c "$UNCRUSTIFY_CFG" -f "$RIOTBASE/$F" \
--check > /dev/null 2>&1 || {
echo "file $F needs to be uncrustified."
echo "Please run 'dist/tools/uncrustify/uncrustify.sh'"
# Disable error until versioning issue is sorted out.
#exit 1
exit 0
}
done
echo "All files are uncrustified!"
}
exec_uncrustify () {
if [ "$(git diff HEAD)" ] ; then
echo "Please commit all changes before running uncrustify.sh"
exit 1
fi
for F in $FILES
do
uncrustify -c "$UNCRUSTIFY_CFG" --no-backup "$RIOTBASE/$F"
done
}
if [ "$1" == "--check" ] ; then
check
else
exec_uncrustify
fi