@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' `^
        -or $_.Name -eq 'WORKSPACE' `^
        -or $_.Name -eq 'WORKSPACE.oss' `^
        -or $_.Name -eq 'WORKSPACE.bzlmod' `^
        -or $_.Name -eq 'BUILD.oss' `^
        -or $_.Name -clike '*.bazel' `^
        -or $_.Name -clike '*.bzl' `^
        -or $_.Name -clike '*.sky' `^
        -or $_.Name -clike '*.star' `^
        -or $_.Name -clike '*.BUILD' `^
        -or $_.Name -clike 'BUILD.*.oss' `^
        -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;^
};
