diff --git a/dotnet/private/dotnet_format.bzl b/dotnet/private/dotnet_format.bzl index 5499d8e5a453b..895526966b89f 100644 --- a/dotnet/private/dotnet_format.bzl +++ b/dotnet/private/dotnet_format.bzl @@ -52,11 +52,8 @@ DOTNET_DIR="$WORKSPACE_ROOT/dotnet" cd "$DOTNET_DIR" -echo "Running dotnet format $@ on all projects..." -find "$DOTNET_DIR/src" "$DOTNET_DIR/test" -name "*.csproj" 2>/dev/null | while read -r proj; do - echo " Formatting $proj..." - "$DOTNET" format "$@" "$proj" || exit 1 -done || exit 1 +echo "Running dotnet format $@ on Selenium.slnx..." +"$DOTNET" format "$@" Selenium.slnx || exit 1 echo "Done." """.format( @@ -76,30 +73,32 @@ def _create_windows_script(ctx, dotnet): dotnet_runfiles_path = _to_runfiles_path(dotnet.short_path).replace("/", "\\") script_content = """@echo off -setlocal +setlocal enabledelayedexpansion -set RUNFILES_DIR=%~dp0%~n0.runfiles -set DOTNET=%RUNFILES_DIR%\\{dotnet_path} +rem Resolve runfiles (Windows: .bat.runfiles, Unix: .runfiles) +set "RF_DIR=%~dp0%~nx0.runfiles" +if not exist "!RF_DIR!" set "RF_DIR=%~dp0%~n0.runfiles" -if defined BUILD_WORKSPACE_DIRECTORY ( - set WORKSPACE_ROOT=%BUILD_WORKSPACE_DIRECTORY% -) else ( - set WORKSPACE_ROOT=%RUNFILES_DIR%\\_main +set "DOTNET=!RF_DIR!\\{dotnet_path}" +if not exist "!DOTNET!" ( + echo ERROR: dotnet not found at !DOTNET! 1>&2 + exit /b 1 ) -set DOTNET_DIR=%WORKSPACE_ROOT%\\dotnet -cd /d "%DOTNET_DIR%" +rem Set DOTNET_ROOT so MSBuild SDK resolver can find the SDK +for %%I in ("!DOTNET!") do set "DOTNET_ROOT=%%~dpI" +set "PATH=!DOTNET_ROOT!;!PATH!" -echo Running dotnet format %* on all projects... -for /r "%DOTNET_DIR%\\src" %%p in (*.csproj) do ( - echo Formatting %%p... - "%DOTNET%" format %* "%%p" || exit /b 1 -) -for /r "%DOTNET_DIR%\\test" %%p in (*.csproj) do ( - echo Formatting %%p... - "%DOTNET%" format %* "%%p" || exit /b 1 +set "DOTNET_DIR=%BUILD_WORKSPACE_DIRECTORY%\\dotnet" +cd /d "!DOTNET_DIR!" || ( + echo ERROR: Could not cd to !DOTNET_DIR! 1>&2 + exit /b 1 ) +echo Running dotnet format %* on Selenium.slnx... +"!DOTNET!" format %* Selenium.slnx +if errorlevel 1 exit /b 1 + echo Done. """.format( dotnet_path = dotnet_runfiles_path,