Skip to content

Support transitive dependencies #35

@hwright

Description

@hwright

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.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions