Bazel on Windows Roadmap
Last verified: 2018-07-19 (update history)
Point of contact: laszlocsomor
Goal
Our goal is to make Bazel fast, reliable, and easily usable on Windows.
Roadmap for Q3 2018
Break Bash dependency
Increase test coverage
- Document runfiles libraries in Build Encyclopedia at
*_binary.data
. - Roll out Bash runfiles support to
//src/test/shell/...
(#4292). - Run 90% of
//src/...
on Windows.
Support TensorFlow
- Build TFLite on Windows (#4148).
Future work (unscheduled)
Break Bash dependency (#4319)
- Make shell-using rules use the shell toolchain.
- Implement a tool to merge files and text, to break dependency on bintools
when creating
py_binary
stub. - Create example project on GitHub showing how to write a custom shell toolchain for local and remote builds, and how to override the default toolchain. Link to this project from the Build Encyclopedia or the User Manual, and announce it on the Blog.
- Break
RunCommand
’s dependency on Bash. It cannot select a toolchain without aRuleContext
. - Design a way to express dependency on bintools (e.g. “perl”, “grep”) (#5265).
Improve runfiles experience for Java, C++, Python, and Bash programs
- Implement
rfind()
for all runfiles libraries (#4334).
Improve test coverage
Fix Bazel client bugs
- Fix corrupt install (#5091, #4378).
- Improve code health: remove all MSYS path conversion logic (#2507).
- Support Cyrillic characters (#3821, #2443).
Fix *_binary
launcher
- Remove
../
in classpath jars (#4420).
Implement sandboxing
- Research sandboxing feasibility (#5136).
Improve Android support
- Build the Android Hello World project on Windows on BuildKite (#3663).
- Run Android desugar tests on Windows (#4797).
- Run all Android tests on Windows.
- Fix Android Python tools to use Bazel’s JNI library from embedded tools (#3832).
- Fix Android Python tools to support long paths (#3963).
- Support Android Studio on Windows (#3888).
Fix the following set of uncategorized issues
- Write Skylark rule migration guide (#3889).
- Fix
glob.exclude_directories
(#3674). - Break
cmd.exe
dependency (#2190). - Quote empty arguments (#4778).
- Fix repository rule invalidation (#3143, #3374).
- Fix NPE in
maven_server
(#1941). - Check
new_local_repository
arguments (#3192). - Fix that
repository_ctx.execute
ignoresPATH
(#3445). - Support
--watchfs
(#1931).