Bringing Bazel to Windows, then and now
summary
A Linux‑only Bazel port becomes usable on Windows by replacing missing POSIX calls with MSYS2, working around lack of admin symlinks using junctions and hard links, and ripping bash dependencies out of the runtime so native stub scripts and C++ wrappers run faster. Remote execution uses Docker containers on Windows Server Core (images ~4 GB) and an NSSM‑wrapped dockerd service for isolation; a runaway MSYS2 temp file bug stalls Docker builds until Go 1.21 fixes it, but the container approach enables Visual Studio toolchains without redistributing Microsoft binaries.
AI-written summary · about
