* Add new feature `trust-dns` to lib & bin
* Enable `trust-dns` feature by default
Because the `getaddrinfo` is a poorly designed API.
* USe default feature set on windows CI
because wintls on the CI does not support TLS 1.3 and trust-dns only
support dns over https if rustls is used.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Impl new mod `hosting` for detecting git hosting services
* Refactor: Make `guess_git_hosting_services` associated fn of `GitHostingService`
* Set default value of `PkgMeta::pkg_url` to `None`
* Impl new method `get_redirected_final_url`
* Use `get_redirected_final_url` in `GhCrateMeta::find` to make `guess_git_hosting_services` more accurate.
* Use redirected `repo` in `GhCrateMeta::launch_baseline_find_tasks`
* Refactor `<GhCrateMeta as Fetcher>::find`
* Mod `get_default_pkg_url_template` to ret `&[&str]`
* Add more default `pkg-url` templates
* Rm `pkg-url` in `bin/Cargo.toml`
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
* Derive `Eq` for `PkgFmt`, `PkgFmtDecomposed` & `TarBasedFmt`
* Derive `Eq` for `PkgMeta`, `PkgOverride` & `BinMeta`
* Rm unnecessary reborrow in `install_from_source`
* Rm unnecessary `into()` in `args::parse`
* Fix `clippy` warning in `CratesToml::append_to_path`
* Fix clippy warning in `cratesio_url`
* Fix clippy warning in `detect_targets_linux`
* Add `clippy` and `rustfmt` to workflow `unit-test`
Because `clippy` would not check inactive code disabled by `cfg`, so we
have to also run `clippy` on multiple targets.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>