mirror of
https://github.com/XRPLF/clio.git
synced 2025-11-04 11:55:51 +00:00
43 lines
1.2 KiB
Bash
Executable File
43 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
exec 1>&2
|
|
|
|
# paths to check and re-format
|
|
sources="src unittests"
|
|
formatter="clang-format -i"
|
|
version=$($formatter --version | grep -o '[0-9\.]*')
|
|
|
|
if [[ "16.0.0" > "$version" ]]; then
|
|
cat <<EOF
|
|
|
|
ERROR
|
|
-----------------------------------------------------------------------------
|
|
A minimum of version 16 of `clang-format` is required.
|
|
Your version is $version.
|
|
Please fix paths and run again.
|
|
-----------------------------------------------------------------------------
|
|
|
|
EOF
|
|
exit 2
|
|
fi
|
|
|
|
first=$(git diff $sources)
|
|
find $sources -type f \( -name '*.cpp' -o -name '*.h' -o -name '*.ipp' \) -print0 | xargs -0 $formatter
|
|
second=$(git diff $sources)
|
|
changes=$(diff <(echo "$first") <(echo "$second") | wc -l | sed -e 's/^[[:space:]]*//')
|
|
|
|
if [ "$changes" != "0" ]; then
|
|
cat <<\EOF
|
|
|
|
WARNING
|
|
-----------------------------------------------------------------------------
|
|
Automatically re-formatted code with `clang-format` - commit was aborted.
|
|
Please manually add any updated files and commit again.
|
|
-----------------------------------------------------------------------------
|
|
|
|
EOF
|
|
exit 1
|
|
fi
|
|
|
|
.githooks/ensure_release_tag
|