-
Notifications
You must be signed in to change notification settings - Fork 543
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
Don't use .par files for piptool/whltool #184
Comments
To clarify, I think there's three separate issues here:
For 1, we need these tools to be directly executable because Bazel cannot build its own tools during WORKSPACE evaluation. There's two ways to have an executable Python program: build an artifact (e.g. with Bazel), or else directly execute Python source code without a build step. We currently do the former, but a change like PR #81 does the latter. For 2, the tools themselves have PyPI dependencies (which happen to be For 3, it's not clear to me that the use of par files is necessary, even if we don't vendor. We could explore switching to |
rules_python 0.1.0 has been released which upstreams the rules_python_external repo. Please switch from |
piptool and whltool are implicit dependencies of the
pip_import
andwhl_library
rules, yet they themselves are defined in terms ofrequirement()
declarations. This circular dependency is currently resolved by checking in prebuilt .par files for these tools, regenerated by runningupdate_tools.sh
. This has drawbacks:It makes the build process more brittle and harder to understand.
For security, the checked in par files must only be updated by a trusted person.
See also my recap here, a brittleness breakage here, and an uncompleted PR to migrate away from checked-in .par files here.
The text was updated successfully, but these errors were encountered: