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

[move-package] Support dependency overrides #11181

Merged
merged 1 commit into from
Apr 21, 2023
Merged

Conversation

awelc
Copy link
Contributor

@awelc awelc commented Apr 21, 2023

Description

When building a dependency graph, different versions of the same (transitively) dependent package can be encountered. If this is indeed the case, a single version must be chosen by the developer to be the override, and this override must be specified in a manifest file whose package dominates all the conflicting "uses" of the dependent package. These overrides must taken into consideration during the dependency graph construction and this PR implements the relevant changes to dependency graph construction algorithm. For additional details see the doc-comments in the code as well as the PR this one is based on (move-language/move#1023) which contains a discussion of issues encountered during development of this algorithm.

Test Plan

A comprehensive test suite is attached.

If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process.

Type of Change (Check all that apply)

  • user-visible impact

Release notes

This change allows a developer to override transitive dependencies of a package they are developing to avoid conflicts that could otherwise arise.

@awelc awelc requested a review from amnn April 21, 2023 13:25
@awelc awelc self-assigned this Apr 21, 2023
@vercel
Copy link

vercel bot commented Apr 21, 2023

The latest updates on your projects. Learn more about Vercel for Git ↗︎

4 Ignored Deployments
Name Status Preview Updated (UTC)
explorer ⬜️ Ignored (Inspect) Apr 21, 2023 1:25pm
explorer-storybook ⬜️ Ignored (Inspect) Apr 21, 2023 1:25pm
sui-wallet-kit ⬜️ Ignored (Inspect) Apr 21, 2023 1:25pm
wallet-adapter ⬜️ Ignored (Inspect) Apr 21, 2023 1:25pm

Copy link
Contributor

@amnn amnn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stamping as reviewed on move-language/move

@awelc awelc merged commit 98be335 into main Apr 21, 2023
@awelc awelc deleted the aw/dependency-overrides branch April 21, 2023 15:09
awelc added a commit that referenced this pull request Apr 25, 2023
## Description 

A description of how recently landed
(#11181) dependency overrides
work.

Please let me know if you need this changes, extended, etc.

I am also not sure if this should be a separate file (as it is intended
for now) or if it should be folded into an existing document (e.g.,
https://github.com/MystenLabs/sui/blob/main/doc/src/build/package-upgrades.md),
and if the former is the case, if there is any additional work required
to have it properly displayed on the developer portal.

## Test Plan 

It's just the docs

---
If your changes are not user-facing and not a breaking change, you can
skip the following section. Otherwise, please indicate what changed, and
then add to the Release Notes section as highlighted during the release
process.

### Type of Change (Check all that apply)

- [x] user-visible impact
- [ ] breaking change for a client SDKs
- [ ] breaking change for FNs (FN binary must upgrade)
- [ ] breaking change for validators or node operators (must upgrade
binaries)
- [ ] breaking change for on-chain data layout
- [ ] necessitate either a data wipe or data migration

### Release notes

---------

Co-authored-by: ronny-mysten <[email protected]>
Co-authored-by: Ashok Menon <[email protected]>
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.

2 participants