#!/bin/bash # # Copyright 2013-2021 Software Radio Systems Limited # # By using this file, you agree to the terms and conditions set # forth in the LICENSE file which can be found at the top level of # the distribution. # # make sure all commands are echoed #set -x set -o pipefail if ([ ! $1 ]) then echo "Please call script with target branch name or git hash to perform diff with." echo "E.g. ./run-clang-format-diff.sh [HASH]" exit 1 fi # check for apps app1=$(which clang-format-diff) app2=$(which git) app3=$(which colordiff) if ([ ! -x "$app1" ] || [ ! -x "$app2" ] || [ ! -x "$app3" ]) then echo "Please install clang-format-diff, git and colordiff" exit 1 fi target=$1 echo "Running code format check between current state and ${target} .." # run clang-format diff="$(git diff -U0 ${target} | clang-format-diff -p1 | python3 -c 'data = open(0).read(); print(data); exit(1 if data else 0)')" # safe return code ret=$? if ([ $ret == "0" ]) then echo "Code formatting is correct." else echo "The following code seems to be not formatted correctly:" # print colorized version echo "${diff}" | colordiff fi exit ${ret}