Commit graph

22 commits

Author SHA1 Message Date
Ed Page 134ed93f60 fix: Consistently compare MSRVs
We used several strategies
- Relying in `impl Ord for RustVersion`
- Converting to version requirements
  - Decrementing a version

This consolidates around one strategy: `RustVersion::is_compatible_with`
- Ensure the comparisons have the same behavior
- Centralize knowledge of how to handle pre-release rustc
- Losslessly allow comparing with either rustc or workspace msrv
2024-03-05 10:59:08 -06:00
Ed Page 46584a4d6b refactor(schema): Pull RustVersion out into a mod 2024-03-04 16:45:58 -06:00
Ed Page a980eed118 refactor(schema): Make manifest its own directory 2024-03-04 16:44:05 -06:00
Weihang Lo 7b0919399d
feat(cargo-util-schemas): TryFrom<PartialVersion> for RustVersion 2024-02-16 10:05:59 -05:00
renovate[bot] 5ea658df78 chore(deps): update msrv (1 version) to v1.76.0 2024-02-08 14:32:51 +00:00
Ed Page b291f42dce chore: Make N-0 MSRVs explicit
This will require a version bump every release but over-releasing these
packages is likely a lot better than over-releasing the N-3 packages,
which we won't have to do anymore after this.

My hope is the `auto` value will be approved and stabilized and then we
won't have to over-release anymore.
2024-01-18 15:28:04 -06:00
Ed Page 62eab55ed2 refactor(toml): Make it more obvious to update package-dependent fields
Inspired by my having forgotten to add `[lints]` to the if sequence.
Previously, we added a comment to suggest this but the further the code
is, the harder it is to track.

I considered a custom `Deserialize` impl, possibly through a new type,
that would error.
This would be the more "pure" solution.
Unfortunately, this would also have worse errors because the errors
would be reported to the `Deserializer` at the document-level, rather
than directly on the individual fields.
Well, we don't do on individual fields now but it is something we will
soon be exploring.
2024-01-08 15:34:38 -06:00
Ed Page 6e86530ae2 fix(manifest): Provide unused key warnings for lints table
The use of `flatten` was getting in the way of `serde_ignored`.
A common workaround is to add our own `unused` tracking but that would
cause duplicates with `workspace.lints` (or we'd just ignore it).

Since the manual deserializer was relatively simple, I went that route.

Fixes #12917
2024-01-08 09:12:46 -06:00
Ed Page e37a04a9d4 refactor(schema): Use dedicated type for 'workspace' field value 2024-01-08 09:06:03 -06:00
hi-rustin ad18dd017b refactor: give some better examples for package ID spec
Signed-off-by: hi-rustin <rustin.liu@gmail.com>
2023-12-25 10:08:27 +08:00
Weihang Lo 0b0e78fa3f
chore: bump cargo-util-schemas to 0.2.0 2023-12-20 10:38:03 -05:00
Weihang Lo f9e726b056
refactor(util-schemas): make error enum private 2023-12-20 10:38:03 -05:00
Weihang Lo a0201cd465
refactor(util-schemas): make fn in restricted_names crate private
pub
2023-12-20 10:38:02 -05:00
Weihang Lo d1e1c3d0aa
refactor(util-schemas): remove unused arg 2023-12-20 10:38:02 -05:00
Weihang Lo f1216495bb
refactor(util-schemas): remove anyhow 2023-12-20 10:38:02 -05:00
Weihang Lo 1e577614c5
refactor(util-schemas): error type for PackageIdSpec 2023-12-20 10:38:02 -05:00
Weihang Lo a3267bfa29
refactor(util-schemas): error type for restricted_names 2023-12-20 10:38:02 -05:00
Weihang Lo 90017c0747
refactor(util-schemas): error type for RustVerion 2023-12-19 18:28:01 -05:00
Weihang Lo d7b811b686
refactor(util-schemas): error type for PartialVersion 2023-12-19 18:28:01 -05:00
Weihang Lo da6cf9cde2
refactor(util-schemas): add thiserror 2023-12-19 03:34:35 -05:00
Weihang Lo ad2c45bde9
refactor: clean up package metadata
Like PR 12352 but for homepage and repository

Versions for

* `cargo-credential-1password`
* `cargo-util-schemas`
* `home`

are bumped along with the change.
2023-12-18 16:09:03 -05:00
Ed Page 633929d3aa refactor(schemas): Pull out cargo-util-schemas crate
Fixes #12801
2023-12-15 13:22:25 -06:00