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
Make proto/ vendor-able #128
Conversation
Thanks, it hadn't occurred to me that this would be a potential issue for users who are vendoring. Re:
FWIW, I think it would probably be fine if we did move |
@hawkw did some random commits accidentally get added to this PR? |
We have GitHub configured to require that branches are up to date before merging them (to ensure CI runs with the branch integrated with the latest changes). Therefore, I clicked the "Update this branch with the latest changes" button to prepare to merge it. |
Hi, I found that this PR makes the console not compile in Windows and Error message is like:
|
Currently, the protobuf definitions for the console API are symlinked into the `console-api` directory. This is intended to support vendoring the `console-api` crate (see #128). However, some users have reported that the symlink isn't the ideal solution. Windows users have had issues following the Unix symlink, so #128 broke the build for people trying to develop the console on Windows (I suspect it may still work in WSL?). There's no _real_ reason that the `proto/` directory needs to be in the repo root, rather than the `console-api` crate; the symlink was only added to avoid moving it around. Therefore, it's fine to just move it instead. This branch moves the `proto/` dir into `console-api/proto`, hopefully fixing the build issues for Windows users.
Yeah, other users have reported that as well. PR #141 should fix this...but unfortunately, I don't have easy access to a Windows machine to test that on. If you're interested in checking out that branch and confirming that it does fix the build, that would be lovely! |
@spacemeowx2 I don't have access to a windows machine, can you try building doing this? https://github.com/dtolnay/cxx/blob/master/.github/workflows/ci.yml#L36 in the meantime, I think @hawkw is right, #141 will simplify this Sorry about the noise! |
Currently, the protobuf definitions for the console API are symlinked into the `console-api` directory. This is intended to support vendoring the `console-api` crate (see #128). However, some users have reported that the symlink isn't the ideal solution. Windows users have had issues following the Unix symlink, so #128 broke the build for people trying to develop the console on Windows (I suspect it may still work in WSL?). There's no _real_ reason that the `proto/` directory needs to be in the repo root, rather than the `console-api` crate; the symlink was only added to avoid moving it around. Therefore, it's fine to just move it instead. This branch moves the `proto/` dir into `console-api/proto`, hopefully fixing the build issues for Windows users.
I work with a large monorepo that
cargo vendor'
s all third-party code. We use tokio quite a bit, and want to experiment withtokio/console
When vendoring
console-api
the../proto
directory is lost, and the crate is unbuildable. I understand that keepingproto/
as a top-level directory is probably desirable, so this change symlinks that directory into that sub-crate itself.My understanding is that this change may also be required once
console
is put on crates.io?cargo vendor
before this change:after:
This is basically copying what https://github.com/dtolnay/cxx does with symlinks