File: format-check.sh

package info (click to toggle)
gamemode 1.8.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 640 kB
  • sloc: ansic: 5,314; sh: 101; xml: 34; makefile: 7
file content (36 lines) | stat: -rwxr-xr-x 945 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/bin/bash
# Simple script to check for clang-format compliance

# Ensure we are at the project root
cd "$(dirname $0)"/..

if [[ "$1" == "--pre-commit" ]]; then
  # used via .git/hooks/pre-commit:
  # exec "$(dirname $0)"/../../scripts/format-check.sh --pre-commit
  git-clang-format
  exit
fi

if [[ "$CI" == "true" ]]; then
  # used in ci, assumes clean repo
  clang-format -i $(find . -name '*.[ch]' -not -path "*subprojects/*")
  GIT_DIFF_OUTPUT=$(git diff)
  if [[ ! -z ${GIT_DIFF_OUTPUT} ]]; then
    echo "Failed clang format check:"
    echo "${GIT_DIFF_OUTPUT}"
    exit 1
  else
    echo "Passed clang format check"
    exit 0
  fi
fi

CLANG_FORMAT_OUTPUT=$(git-clang-format HEAD^ HEAD --diff)
if [[ ! ${CLANG_FORMAT_OUTPUT} == "no modified files to format" ]] && [[ ! -z ${CLANG_FORMAT_OUTPUT} ]]; then
  echo "Failed clang format check:"
  echo "${CLANG_FORMAT_OUTPUT}"
  exit 1
else
  echo "Passed clang format check"
  exit 0
fi