1@rem Copyright 2024 gRPC authors. 2@rem 3@rem Licensed under the Apache License, Version 2.0 (the "License"); 4@rem you may not use this file except in compliance with the License. 5@rem You may obtain a copy of the License at 6@rem 7@rem http://www.apache.org/licenses/LICENSE-2.0 8@rem 9@rem Unless required by applicable law or agreed to in writing, software 10@rem distributed under the License is distributed on an "AS IS" BASIS, 11@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12@rem See the License for the specific language governing permissions and 13@rem limitations under the License. 14 15@rem Avoid slow finalization after the script has exited. 16@rem See the script's prologue for info on the correct invocation pattern. 17setlocal EnableDelayedExpansion 18IF "%cd%"=="T:\src" ( 19 call %~dp0\..\..\..\tools\internal_ci\helper_scripts\move_src_tree_and_respawn_itself.bat %0 20 echo respawn script has finished with exitcode !errorlevel! 21 exit /b !errorlevel! 22) 23endlocal 24 25@rem enter repo root 26cd /d %~dp0\..\..\.. 27 28echo "!TIME!: Preparing for the Windows build" 29call tools/internal_ci/helper_scripts/prepare_build_windows.bat || exit /b 1 30 31@rem Install clang-cl 32echo "!TIME!: Installing llvm" 33choco install -y llvm --version=18.1.6 34set BAZEL_LLVM="C:\Program Files\LLVM" 35clang-cl --version 36 37@rem Install bazel 38@rem Side effect of the tools/bazel script is that it downloads the correct version of bazel binary. 39echo "!TIME!: Installing bazel" 40mkdir C:\bazel 41bash -c "tools/bazel --version && cp tools/bazel-*.exe /c/bazel/bazel.exe" 42set PATH=C:\bazel;%PATH% 43bazel --version 44 45echo "!TIME!: Running the bazel build" 46bazel build --config=clang-cl --config=windows_opt --build_tag_filters=-no_windows :all src/core:all 47 48echo "!TIME!: Job Finished" 49