Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change adds support for rust using the cargo package manager. Generally this is one of the simplest source implementations in a long time 🎉 . A HUGE HUGE thank you to the rust and cargo developers for providing all the metadata this tool needs from a single
cargo metadata
CLI call, and returning data in an easy to consume format.There is an extensibility option available with
cargo.metadata_options
configuration. This key can be set to a string or an array of strings, and will be appended to the end of the default CLI callcargo metadata --format-version=1
.The source is pretty straightforward - it pulls the ids from
resolved.nodes
output and matches them up to package data given inpackages
, excluding any packages who's ids are present inworkspace_members
as 1st party packages that don't need reporting on. All of the metadata that licensed needs is available in thepackages
object ❤️ .