Skip to content

fix: resolve transitive external path dependencies - #199

Open
snowp wants to merge 1 commit into
hermeticbuild:mainfrom
snowp:main
Open

fix: resolve transitive external path dependencies#199
snowp wants to merge 1 commit into
hermeticbuild:mainfrom
snowp:main

Conversation

@snowp

@snowp snowp commented Jul 31, 2026

Copy link
Copy Markdown

Walk external path manifests with cargo metadata --no-deps so lockfile path packages can be resolved without loading the complete dependency graph. Use the collected metadata for external Cargo workspaces, where package manifests may inherit dependency declarations.

This addresses #181 and additionally handles pointing at workspaces outside of the cargo workspace, both of which are part of our local dev story with Cargo so they seem reasonable to me to support in rules_rs, but feel free to push back if this is too crazy. Tested this in https://github.com/bitdriftlabs/capture-sdk which employs this kind of pattern to support local dev against https://github.com/bitdriftlabs/shared-core.

Added a test that demonstrates the transitive path workspace setup, including placing the cargo workspace outside the test/ Bazel workspace to validate that we can handle depending on repos outside of the repo.

Walk external path manifests with cargo metadata --no-deps so lockfile path packages can be resolved without loading the complete dependency graph. Use the collected metadata for external Cargo workspaces, where package manifests may inherit dependency declarations.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant