You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[move-package] Support dependency overrides (#11181)
## 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)
- [x] 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.
Copy file name to clipboardExpand all lines: external-crates/move/tools/move-package/tests/test_sources/diamond_problem_backflow_resolution/Move.resolved
Failed to resolve dependencies for package 'Root': Adding dependencies from ../resolvers/successful.sh for dependency 'A' in 'Root': Conflicting dependencies found:
2
+
ADep = { local = "deps_only/ADep", version = "1.0.0" }
3
+
ADep = { local = "deps_only/ADep" } # Resolved by ../resolvers/successful.sh
0 commit comments