Rust lang, Crates loader
First implementation of Crates loader.
The implementation extract both intrinsic and extrinsic metadata :
- Intrinsic: From Cargo.toml file after downloading the crate package
- Extrinsic: From get request to https://crates/io/api/v1/crates/
Extrinsic metadata is used to get versions of all released package. It's also used, for a specific version, to get the update date, and optionally, authors and description in case we can't get those from Intrinsic Metadata.
Related to T4104
Migrated from D7501 (view on Phabricator)