dropbox / dbx_build_tools

Dropbox's Bazel rules and tools
Other
208 stars 36 forks source link

Use dbx_py_binary for running vpip #47

Open jsharpe opened 2 years ago

jsharpe commented 2 years ago

This ensures that the dependencies installed via vpip are using the correct version of python as the version of python configured in the rules_python toolchain may be different to that used by the dbx_py_binary rules.

jsharpe commented 2 years ago

I actually ran into a need to also run vinst as a dbx_py_binary rule as well but IIRC this caused circular dependency issues. @jhance I'm guessing you don't run into this internally because you build python as a binary separately and make that built binary available on PATH to bazel when building other tooling if I'm not mistaken. In my case I am building python and using libraries against it within the same build.

jsharpe commented 1 year ago

@jhance friendly ping on this.

jhance commented 1 year ago

https://github.com/dropbox/dbx_build_tools/commit/5047bdaa4326291c90ecf8a61d086178a03ba7bd covered this it seems.

jsharpe commented 1 year ago

Yes, it does; although technically vinst should also run through dbx_py_binary too but I couldn't get this to work due to a circular dep. Not sure if this has changed now but we've largely moved over to rules_python now instead of these rules due to them becoming unmaintained in the OSS version for a long enough period.

jhance commented 1 year ago

Yeah, unfortunately its not really an official project to maintain this repository and at some point the tooling we added to ensure that the repository is actually exportable with the copybara patches got turned off, which resulted in it being quite the headache to be able to export again.