Skip to content
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

Lean on workspace inheritance for deps for development #568

Merged
merged 8 commits into from
Nov 10, 2022

Conversation

leighmcculloch
Copy link
Member

@leighmcculloch leighmcculloch commented Nov 10, 2022

What

Switch to specifying development versions on dependencies instead of separately as patches.

Why

@tsachiherman recently highlighted how the use of [patch.*] in this repo is a burden to crates upstream in the dependency graph.

During development we use the [patch.*] configuration in Cargo to override the version dependencies for each full repo. This has a side effect that every repo has to know about its dependencies transitive dependencies that also require the patch entries, because patch entries of this crate are ignored by crates upstream and have to be manually specified in the upstream crate.

There are other ways we can express these development/unreleased dependencies. Specifically we can move the git references onto the dependency definitions itself, making them automatically carry to importers, and we can do so at the repo level by using Rust 1.64's workspace inheritance.

This will mean that crates such as the SDK and CLI that import the crates in this repo will not need to specify the versions of things like wasmi, or internal crates that they do not import.

Close #567

@leighmcculloch leighmcculloch merged commit 99de1bf into main Nov 10, 2022
@leighmcculloch leighmcculloch deleted the simplify-internal-dep-management branch November 10, 2022 21:51
leighmcculloch added a commit to stellar/rs-soroban-sdk that referenced this pull request Nov 10, 2022
### What
Switch to specifying development versions on dependencies instead of
separately as patches.

### Why
See stellar/rs-soroban-env#568.

Close stellar/rs-soroban-env#567
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.

Investigate how to reduce burden of "patch" dependency use on upstream crates
2 participants