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

Add cargo deny configuration #64

Merged
merged 3 commits into from
Oct 12, 2023
Merged

Add cargo deny configuration #64

merged 3 commits into from
Oct 12, 2023

Conversation

iddm
Copy link
Collaborator

@iddm iddm commented Oct 9, 2023

This allows us to catch the license incompatibilities among our projects and all the dependencies and to catch accidental binaries within our source code.

To enable this, the cargo deny (a cargo subcommand) is used. It parses the Cargo.toml files of each of the crates within the workspace and all the dependencies used by those crates, creating a single dependency graph. While building the graph, it also gathers information about licenses, the source code, and all the properties of those paths. This allows the utility to check for license compatibility and for the binaries included in any dependent crate. For example, it will trigger on the serde version 1.0.172 and till the version where the binary of serde_derive is removed. It will be triggered again once it happens. Current filters are setup only to ignore the crates that simply don't make sense without having binaries. Most of those are used within the test code, so they can safely be ignored. Examples: windows, winapi and libloading crates.

Adds the cargo-deny configuration file for the project. It allows to
check for license compatibilities of the project and its dependencies,
as well as other checks, one of the most important ones of which is the
check for the binaries.
Adds the use of cargo-deny to automatically catch any issues before even
building the crate(s).
@iddm iddm merged commit 957dc58 into master Oct 12, 2023
2 checks passed
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.

2 participants