neon-sprawl/scripts/verify-dotnet-format.sh

32 lines
750 B
Bash
Executable File

#!/usr/bin/env bash
# Verify dotnet format (IDE0005 unnecessary usings + other warn-severity style) with no auto-fixes.
set -euo pipefail
repo_root="$(git rev-parse --show-toplevel 2>/dev/null || pwd)"
cd "$repo_root"
projects=(
server/NeonSprawl.Server/NeonSprawl.Server.csproj
server/NeonSprawl.Server.Tests/NeonSprawl.Server.Tests.csproj
)
try_format() {
local proj="$1"
dotnet format "$proj" --verify-no-changes --severity warn --no-restore
}
restore_needed=false
for proj in "${projects[@]}"; do
if ! try_format "$proj" >/dev/null 2>&1; then
restore_needed=true
break
fi
done
if [[ "$restore_needed" == true ]]; then
dotnet restore NeonSprawl.sln --verbosity quiet
for proj in "${projects[@]}"; do
try_format "$proj"
done
fi