| @echo off |
| |
| set ARGS=@@ARGS@@ |
| |
| rem Remove the leading '(' and trailing ')' characters that surround the arguments |
| set stripped_args=%ARGS:~1,-1% |
| |
| rem Unquote the arguments |
| set stripped_args=%stripped_args:'=% |
| |
| rem Get the absolute path to the buildifier executable |
| for /f "tokens=2" %%i in ('findstr /r "\<buildifier\.exe\>" MANIFEST') do (set buildifier_abs_path=%%i) |
| |
| powershell ^ |
| $Files = Get-ChildItem -LiteralPath '%BUILD_WORKSPACE_DIRECTORY:/=\%' -Recurse -File -ErrorAction SilentlyContinue ^|^ |
| Where-Object {^ |
| $_.Name -eq 'BUILD.bazel' `^ |
| -or $_.Name -eq 'BUILD' `^ |
| -or $_.Name -eq 'WORKSPACE' `^ |
| -or $_.Name -eq 'WORKSPACE.bazel' `^ |
| -or $_.Name -eq 'WORKSPACE.oss' `^ |
| -or $_.Name -clike '*.bzl' `^ |
| -or $_.Name -clike '*.sky' `^ |
| -or $_.Name -clike '*.BUILD' `^ |
| -or $_.Name -clike 'BUILD.*.bazel' `^ |
| -or $_.Name -clike 'BUILD.*.oss' `^ |
| -or $_.Name -clike 'WORKSPACE.*.bazel' `^ |
| -or $_.Name -clike 'WORKSPACE.*.oss'^ |
| };^ |
| ^<# Process files in batches of 100- to avoid exceeding CreateProcess' maximum length of 32,767 characters #^> ^ |
| $i = 0;^ |
| while ($i -lt $Files.Count)^ |
| {^ |
| $Batch = $Files[$i..($i + 99)];^ |
| ^& '%buildifier_abs_path%' %stripped_args% $Batch.FullName;^ |
| $i += $Batch.Count;^ |
| }; |