From fc882b9203bf81e6ee91789dbba81c4e0c1c6443 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Sat, 16 Jul 2022 14:59:29 +0200 Subject: [PATCH] Automatically install dotnet-format in specific version in the commit hook. --- BuildTools/pre-commit | 14 ++++++++++++-- README.md | 2 +- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/BuildTools/pre-commit b/BuildTools/pre-commit index 58a5eadbc..9a77bea3c 100644 --- a/BuildTools/pre-commit +++ b/BuildTools/pre-commit @@ -1,10 +1,20 @@ #!/bin/sh # # To enable this hook, copy/symlink this file to ".git/hooks/pre-commit". +# mklink .git\hooks\pre-commit ..\..\BuildTools\pre-commit +set -eu + +DOTNET_FORMAT_VERSION=6.2.315104 +DOTNET_PATH="$LOCALAPPDATA/ICSharpCode/ILSpy/dotnet-format-$DOTNET_FORMAT_VERSION" +if [ ! -d "$DOTNET_PATH" ]; then + dotnet tool install --tool-path "$DOTNET_PATH" dotnet-format --version "$DOTNET_FORMAT_VERSION" --add-source "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet6/nuget/v3/index.json" +fi + +"$DOTNET_PATH/dotnet-format.exe" --version #if git diff --quiet --ignore-submodules; then -# dotnet format whitespace --no-restore --verbosity detailed ILSpy.sln +# "$DOTNET_PATH/dotnet-format.exe" whitespace --no-restore --verbosity detailed ILSpy.sln # git add -u -- \*\*.cs #else - exec dotnet format whitespace --verify-no-changes --no-restore --verbosity detailed ILSpy.sln + exec "$DOTNET_PATH/dotnet-format.exe" whitespace --verify-no-changes --no-restore --verbosity detailed ILSpy.sln #fi diff --git a/README.md b/README.md index faf0df113..6138d35e4 100644 --- a/README.md +++ b/README.md @@ -81,7 +81,7 @@ How to contribute ----------------- - Report bugs -- If you want to contribute a pull request, please add https://gist.github.com/siegfriedpammer/75700ea61609eb22714d21885e4eb084 to your `.git/hooks` to prevent checking in code with wrong indentation. We use tabs and not spaces. The build server runs the same script, so any pull requests using wrong indentation will fail. +- If you want to contribute a pull request, please add https://github.com/icsharpcode/ILSpy/blob/master/BuildTools/pre-commit to your `.git/hooks` to prevent checking in code with wrong formatting. We use tabs and not spaces. The build server runs the same script, so any pull requests using wrong formatting will fail. Current and past [contributors](https://github.com/icsharpcode/ILSpy/graphs/contributors).