-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Add dependency registry
to cargo metadata
.
#6500
Conversation
This adds the `registry` field for dependencies for alternate registries in `cargo metadata`.
r? @Eh2406 (rust_highfive has picked a reviewer for you, use r? to override) |
Sorry if this is a little long. I can split this up into multiple PRs if desired. I'll try to walk through the changes:
|
I looked over the code and the description. It all looks good. I especially love the improvements to the tests. But this is not a topic I know much about, so I will wait on an r+ for others to give feedback. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@@ -247,6 +249,8 @@ impl SourceId { | |||
} | |||
|
|||
/// Is this source from an alternative registry | |||
/// DEPRECATED: This is not correct if the registry name is not known | |||
/// (for example when loaded from an index). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To confirm, is this left in for clients of the cargo
crate? Or does Cargo still use this a lot internally?
(if it's the former I think we can just delete this)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is one usage in cargo. I believe it is currently correct due to where it is used, but I put it on my todo list to remove it in the future since it is easy to get wrong. Its removal isn't trivial, and was unrelated to this PR.
#6499 could probably be closed. I was a little confused because the RFC mentioned supporting the ability to specify URLs in the |
@bors: r+ Ok! For urls, we decided to have a dedicated field to discourage it, and the original RFC was accepted I believe with no urls specified anywhere in the manifest (explicitly). We then later added registry-index for published crates to have an "elaborated" view of the world. The registry-index field isn't really intended for public consumption, and |
📌 Commit 64042d8 has been approved by |
Add dependency `registry` to `cargo metadata`. This adds the `registry` field for dependencies for alternate registries in `cargo metadata`.
☀️ Test successful - status-appveyor, status-travis |
Update cargo 24 commits in 0d1f1bbeabd5b43a7f3ecfa16540af8e76d5efb4..34320d212dca8cd27d06ce93c16c6151f46fcf2e 2018-12-19 14:45:14 +0000 to 2019-01-03 19:12:38 +0000 - Display environment variables for rustc commands (rust-lang/cargo#6492) - Fix a very minor race condition in `cargo fix`. (rust-lang/cargo#6515) - Add a high-level overview of how `fix` works. (rust-lang/cargo#6516) - Add dependency `registry` to `cargo metadata`. (rust-lang/cargo#6500) - Fix fingerprint calculation for patched deps. (rust-lang/cargo#6493) - serialize version directly (rust-lang/cargo#6512) - use DYLD_FALLBACK_LIBRARY_PATH for dylib_path_envvar on macOS (rust-lang/cargo#6355) - Fix error message when resolving dependencies (rust-lang/cargo#6510) - use PathBuf in cargo metadata (rust-lang/cargo#6511) - Fixed link to testsuite in CONTRIBUTING.md (rust-lang/cargo#6506) - Update display of contents of Cargo.toml (rust-lang/cargo#6501) - Update display of contents of Cargo.toml (rust-lang/cargo#6502) - Fixup cargo install's help message (rust-lang/cargo#6495) - testsuite: Require failing commands to check output. (rust-lang/cargo#6497) - Delete unnecessary 'return' (rust-lang/cargo#6496) - Fix new unused patch warning. (rust-lang/cargo#6494) - Some minor documentation changes. (rust-lang/cargo#6481) - Add `links` to `cargo metadata`. (rust-lang/cargo#6480) - Salvaged semver work (rust-lang/cargo#6476) - Warn on unused patches. (rust-lang/cargo#6470) - don't write a an incorrect rustc version to the fingerprint file (rust-lang/cargo#6473) - Rewrite `login` and registry cleanups. (rust-lang/cargo#6466) - [issue#6461] Fix cargo commands list (rust-lang/cargo#6462) - Restrict registry names to same style as package names. (rust-lang/cargo#6469)
Looks like rust-lang/cargo#6500 accidentally broke the previous logic, so let's load the checksums from elsewhere!
While not actually used in Cargo itself the `Summary::checksum` method of downloaded packages from the registry currently returns `None`. This was accidentally regressed in rust-lang#6500 and noticed when updating `cargo-vendor` (it took a long time to get around to updating that). The fix here is to override the `checksum` field of the summary for packages we return from the registry, and everything else should remain the same!
Ensure Summary::checksum works for registry crates While not actually used in Cargo itself the `Summary::checksum` method of downloaded packages from the registry currently returns `None`. This was accidentally regressed in #6500 and noticed when updating `cargo-vendor` (it took a long time to get around to updating that). The fix here is to override the `checksum` field of the summary for packages we return from the registry, and everything else should remain the same!
This adds the
registry
field for dependencies for alternate registries incargo metadata
.