Closed
Description
Problem
Something is needed by crates.io for creating index entries, rather than reading the json blob which might be out of sync. They switched to community developed crates but this creates hidden relationships when making manifest changes (rust-lang/crates.io#6914).
Proposed Solution
Bigger requests, like #4614, are blocked on the fact that the code ties into everything within cargo. So instead, let's get an incremental step by just putting out the schemas, with no business logic.
Notes
Steps
- Set and verify all MSRVs in CI #12654
- refactor(toml): Make manifest file layout more consitent #12768
- refactor(toml): Decouple parsing from interning system #12881
- refactor(toml): Cleanup noticed on the way to #12801 #12902
- refactor(toml): Pull out the schema #12911
- refactor(util): Prepare for splitting out semver logic #12926
- refactor(util): Pull out
mod util_semver
#12940 - refactor(toml): Simplify code to make schema split easier #12948
- refactor(toml): Improve consistency #12954
- refactor(toml): Consistently lead with 'Toml' prefix #12960
- refactor(toml): Clean up workspace inheritance #12971
- refactor(toml): Further clean up inheritance #13000
- refactor(toml): Decouple logic from schema #13080
- refactor(schemas): Pull out mod for proposed schemas package #13097
- refactor: Pull PackageIdSpec into schema #13128
- refactor(schema): Remove reliance on cargo types #13154
- fix: Fill in more empty name holes #13164
- refactor: Pull name validation into
util_schemas
#13166 - refactor(schemas): Pull out as
cargo-util-schemas
#13178 - Publish
Related work
See also #2259