Skip to content
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

Use workspace dependencies for all dependencies #70

Merged
merged 2 commits into from
Aug 12, 2024

Conversation

cbgbt
Copy link
Contributor

@cbgbt cbgbt commented Aug 8, 2024

Description of changes:
Most of the heavy lifting here was done by a modified fork of cargo-autoinherit, save for some light formatting. I submitted my patches upstream, but it's not clear yet if they'll take them.

I'm currently working on updating cargo-deny in the SDK, which now includes a linter that can deny workspace-dependency antipatterns.

This PR is split into two commits, with my goal being that the workspace commit does not change Cargo.lock at all.


move all dependencies to workspace dependencies

sources: homogenize dependencies

This fixes a few inconsistencies in dependency requirements:
* base64 - this is the only semantic change in the commit. Two packages
  depended on a slightly older version of base64. cargo-deny did not
  catch this because we have disabled duplicate detection for base64 to
  accommodate other 3rd party packages.
* tempfile - This package does not have any default features. Remove the
  `default-features = false` flag.
* schnauzer - One package had an arbitrarily more-specific version
  requirement for schnauzer.

Testing done:

  • Note that Cargo.lock has not changed upon the switch to workspace dependencies.
  • Builds succeed

Terms of contribution:

By submitting this pull request, I agree that this contribution is dual-licensed under the terms of both the Apache License, version 2.0, and the MIT license.

shlex = "1"
signal-hook = "0.3"
simplelog = "0.12"
snafu = { version = "0.8", default-features = false }
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we specify it this way to enable default features, wouldn't that simplify crate level usage?

Suggested change
snafu = { version = "0.8", default-features = false }
snafu = "0.8"

Seems like everything except signpost uses the default features, and signpost should be fine with that instead.

cbgbt added 2 commits August 8, 2024 23:14
This fixes a few inconsistencies in dependency requirements:
* base64 - this is the only semantic change in the commit. Two packages
  depended on a slightly older version of base64. cargo-deny did not
  catch this because we have disabled duplicate detection for base64 to
  accommodate other 3rd party packages.
* tempfile - This package does not have any default features. Remove the
  `default-features = false` flag.
* schnauzer - One package had an arbitrarily more-specific version
  requirement for schnauzer.
* snafu - use default features for all packages
@cbgbt
Copy link
Contributor Author

cbgbt commented Aug 8, 2024

^ Force push to address @bcressey's suggestion for snafu (and then another to correct a mistake I made)

@cbgbt cbgbt merged commit 10a9a2b into bottlerocket-os:develop Aug 12, 2024
2 checks passed
@cbgbt cbgbt deleted the workspaces branch August 12, 2024 15:12
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.

3 participants