-
-
Notifications
You must be signed in to change notification settings - Fork 632
Description
https://docs.bazel.build/versions/master/external.html#transitive-dependencies explicitly says that WORKSPACE
files must include all transitive dependencies for a project. That make sense, given the very really possibility of conflicting version requirements for dependent projects.
However, one of the promises of pip
is that transitive dependencies are resolved and installed automatically. With the Bazel python rules, using an external package which internally uses pip_import
and friends means that we loose the transitive dependency resolution of pip
for that package. The conflicting version problem hasn't gone away, since it is still possible it could occur with the pip_import
-managed packages, we've just made life harder on ourselves.
It would be nice to have a way of pulling down the transitive dependencies for external Bazel projects using the pip_import
infrastructure. This could be in the form of generate_workspace
from Java-land, or it could be a way to pull down those dependencies and create a master requirements file, similar to pip-compile
. In any case, manually managing dependencies for external Bazel projects is going to get unwieldy very quickly.