Jiahao XU
6b5e8f6875
Auto detect pkg_fmt
( #310 )
...
* Refactor: Extract `GhCrateMeta::find_baseline`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Update `Cargo.lock`: Update dep `compact_str`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Fix use of `fetchers`: Set `meta.pkg_fmt` using `fetcher.pkg_fmt()`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Derive `strum_macors::{Display, EnumIter}` for `PkgFmt`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Set typeof field `PkgMeta::pkg_fmt` to be `Option<PkgFmt>`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Optimize `Fetcher::new` to take `&Arc<Data>` instead of `&Data`
To avoid unnecessary `Data::clone` call in `GhCrateMeta`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Optimize `GhCrateMeta::find_baseline`: Avoid unnecessary spawning
for `let Err(_) = url`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Optimize spawning in `GhCrateMeta::find_baseline`
Ret `Option<Url>` instead of `(Url, bool)`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Add new method `target_meta` to trait `Fetcher`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Simplify `resolve_inner` using `Fetcher::target_meta`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Optimize loop in `resolve_inner`: Avoid cloning `PkgOverride`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Impl `PkgMeta::clone_without_overrides`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Optimize `resolve_inner` loop: Use `PkgMeta::clone_without_overrides`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Refactor: Simplify `Context::from_data` impl
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Refactor: Extract `launch_baseline_find_tasks`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Refactor: Simplify `<GhCrateMeta as Fetcher>::find`
Instead of launching tasks in an opaque manner in `Self::find_baseline`,
the new design returns an iterator which launches the tasks and thus
have a unified `.await` point for all these tasks.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Add `warn!`ing to report failure of `Context::render_url`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-08-22 12:28:36 +00:00