Skip to content

Conversation

rvantonder
Copy link
Contributor

@rvantonder rvantonder commented Aug 21, 2024

Description

This makes changes to the external resolver so that multiple package graphs are read per resolver (null-separated strings). This also makes it so that an externally resolved dependency entry does not actually have to correspond to the package name. E.g., from #19561, A can be any name when r.foo is specified:

A = { r.foo = "bar", <other args if you want here> }

Test plan

Added a test to exercise parsing multiple null-separated lock contents. This also tests that it is not required for the dependency to be named as a recognized package.


Release notes

Check each box that your changes affect. If none of the boxes relate to your changes, release notes aren't required.

For each box you select, include information after the relevant heading that describes the impact of your changes that a user might notice and any actions they must take to implement updates.

  • Protocol:
  • Nodes (Validators and Full nodes):
  • Indexer:
  • JSON-RPC:
  • GraphQL:
  • CLI: Changes to external dependency resolution: allows processing multiple null-separated contents to extend the package graph per resolution call.
  • Rust SDK:
  • REST API:

Copy link

vercel bot commented Aug 21, 2024

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

Name Status Preview Comments Updated (UTC)
sui-docs ✅ Ready (Inspect) Visit Preview 💬 Add feedback Sep 26, 2024 7:51pm
3 Skipped Deployments
Name Status Preview Comments Updated (UTC)
multisig-toolkit ⬜️ Ignored (Inspect) Visit Preview Sep 26, 2024 7:51pm
sui-kiosk ⬜️ Ignored (Inspect) Visit Preview Sep 26, 2024 7:51pm
sui-typescript-docs ⬜️ Ignored (Inspect) Visit Preview Sep 26, 2024 7:51pm

@rvantonder rvantonder marked this pull request as ready for review September 12, 2024 21:39
@rvantonder rvantonder force-pushed the rvt/resolver-spec branch 2 times, most recently from b1127b3 to 3c50d15 Compare September 14, 2024 01:30
@rvantonder rvantonder requested a review from amnn September 24, 2024 05:05
@tzakian
Copy link
Contributor

tzakian commented Sep 25, 2024

[package]
name = "name"
edition = "2024.beta"

[dependencies]
foo = { r.mvr = "foo" }
bar = { r.mvr = "bar" }

With configs

[package]
name = "name"
edition = "2024.beta"

[dependencies]
foo = { r.mvr = "foo" }
bar = { r.mvr = "bar" }

[resolver.mvr]
network = "testnet"

@tnowacki
Copy link
Contributor

Maybe

[package]
name = "name"
edition = "2024.beta"

[dependencies]
foo = { r.mvr = "foo" }
bar = { r.mvr = "bar" }

[r.mvr]
network = "testnet"

@amnn
Copy link
Contributor

amnn commented Sep 25, 2024

[package]
name = "name"
edition = "2024.beta"

[dependencies.mvr.packages]
foo = "foo" 
bar = "bar"

[resolver.mvr]
network = "testnet"

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.

I think this is good to go, although you'll need to coordinate with @tzakian on the manifest parser changes.

Note the comment I left about the restriction that a lock file from an external resolver only containing one edge from the root -- this wasn't an intended restriction/expectation, but given that it may be awkward to lift it for now, I think it's okay to keep, just leave a comment with the context there.

@rvantonder rvantonder changed the title move: external resolver spec to support multiple deps move: external resolver reads multiple lock contents Sep 26, 2024
@rvantonder
Copy link
Contributor Author

Thanks @amnn! Updated and

Going ahead with merge

@rvantonder rvantonder merged commit 54ccf09 into main Sep 27, 2024
50 checks passed
@rvantonder rvantonder deleted the rvt/resolver-spec branch September 27, 2024 05:47
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.

4 participants