| | #!/usr/bin/env bash |
| |
|
| | |
| |
|
| | |
| | tools=' |
| | clang-format-8 |
| | clang-format |
| | ' |
| |
|
| | clang_format='' |
| | for tool in ${tools}; do |
| | if type -p "${tool}" > /dev/null; then |
| | clang_format=$tool |
| | break |
| | fi |
| | done |
| |
|
| | if [ -z "$clang_format" ]; then |
| | echo "Could not locate clang-format" |
| | exit 1 |
| | fi |
| | echo "Found clang-format: $(which ${clang_format})" |
| |
|
| | |
| | version_string=$($clang_format --version | sed -E 's/^.*([0-9]+\.[0-9]+\.[0-9]+-[0-9]+).*$/\1/') |
| | expected_version_string='8.0.0' |
| | if [[ "$version_string" =~ "$expected_version_string" ]]; then |
| | echo "clang-format version '$version_string' matches '$expected_version_string'" |
| | else |
| | echo "clang-format version '$version_string' doesn't match '$expected_version_string'" |
| | exit 1 |
| | fi |
| |
|
| | |
| | root_folder=$(git rev-parse --show-toplevel) |
| | all_files=$( \ |
| | git ls-tree --full-tree -r --name-only HEAD . \ |
| | | grep "^src.*\(\.cc\|\.h\|\.hpp\|\.cpp\|\.cu\)$" \ |
| | | sed "s~^~$root_folder/~") |
| | num_files=$(echo $all_files | wc -w) |
| | echo "Formatting ${num_files} files" |
| |
|
| | |
| | ${clang_format} -i $all_files |
| |
|