-
Notifications
You must be signed in to change notification settings - Fork 482
process_wrapper: replace C++ implementation with rust. #1159
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
a010585
to
137f474
Compare
e76f5c4
to
8065ee5
Compare
e3763f5
to
0dea049
Compare
e02228f
to
8bce446
Compare
6fe93df
to
d626996
Compare
e59ec33
to
dacd04f
Compare
968201f
to
254e1fb
Compare
254e1fb
to
8136fca
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What a journey!!! Thank you!
6f39bc7
to
029f34e
Compare
The main advantages of this work are that it eliminates a bunch of platform-specific C++ code in favor of the Rust standard library (mainly std::process::Command and std::fs::File) and it simplifies future improvements in the area of pipelining and incremental compilation. Building a Rust process_wrapper requires a way to use rust_binary without support from process_wrapper itself. This is achieved through a transition in //util/process_wrapper/transitions.bzl.
ba6e34d
to
54c1107
Compare
This change may have introduced a regression. d9ba374#commitcomment-68356750 @gigaroby @hlopko would either of you be able to take a look? |
fwiw I've been trying out the PR on Windows and I'm not having issues. |
…build#1159)" This reverts commit d9ba374.
Bisected to this commit, when trying to upgrade rules_rust. This triggered the following error for me:
Where the protobuf:protobuf_prost_generated target depends on the prostgen tool. This was in the |
@dfreese - FYI from https://docs.bazel.build/versions/main/skylark/rules.html#configurations:
I think it's reasonable to proactively swift from using |
I think I found another related issue: #1209 (It's kinda cool though to see a panic 😄 Yay Rust!) |
The main advantages of this work are that it eliminates a bunch of
platform-specific C++ code in favor of the Rust standard library
(mainly std::process::Command and std::fs::File) and it simplifies
future improvements in the area of pipelining and incremental
compilation. Building a Rust process_wrapper requires a way to use
rust_binary without support from process_wrapper itself. This is
achieved through a transition in //util/process_wrapper/transitions.bzl.