Add `dotnet format` to CI to check C# style
This commit is contained in:
parent
d35c58507c
commit
ea6b8ecb6f
|
@ -63,3 +63,7 @@ jobs:
|
|||
- name: Style checks via clang-format (clang_format.sh)
|
||||
run: |
|
||||
bash ./misc/scripts/clang_format.sh
|
||||
|
||||
- name: Style checks via dotnet format (dotnet_format.sh)
|
||||
run: |
|
||||
bash ./misc/scripts/dotnet_format.sh
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# This script runs dotnet format on all relevant files in the repo.
|
||||
# This is the primary script responsible for fixing style violations in C# files.
|
||||
|
||||
set -uo pipefail
|
||||
|
||||
# Loops through all C# projects tracked by Git.
|
||||
git ls-files -- '*.csproj' \
|
||||
':!:.git/*' ':!:thirdparty/*' ':!:platform/android/java/lib/src/com/google/*' ':!:*-so_wrap.*' |
|
||||
while read -r f; do
|
||||
# Run dotnet format.
|
||||
dotnet format "$f"
|
||||
done
|
||||
|
||||
diff=$(git diff --color)
|
||||
|
||||
# If no diff has been generated all is OK, clean up, and exit.
|
||||
if [ -z "$diff" ] ; then
|
||||
printf "Files in this commit comply with the dotnet format style rules.\n"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# A diff has been created, notify the user, clean up, and exit.
|
||||
printf "\n*** The following changes have been made to comply with the formatting rules:\n\n"
|
||||
echo "$diff"
|
||||
printf "\n*** Please fix your commit(s) with 'git commit --amend' or 'git rebase -i <hash>'\n"
|
||||
exit 1
|
Loading…
Reference in New Issue