Refactor: Extract new crate simple-git (#1304)

`binstalk-downloader` contains stuff about http(s) before the
git code is moved into it and now it becomes http and git.

While git indeed uses http stuff, which is why I decided to put
it into binstalk-downloader, it is more than just downloading
since it is stateful (can be cached locally and updated)
where as http is stateless.

Also `binstalk-downloader`'s codegen time now increases
dramatically and it also creates extra dependencies for
binstalk-fetchers, delaying its execution.

The git code also don't use anything from `binstalk-downloader`
at all, it makes sense to be an independent crate.

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
This commit is contained in:
Jiahao XU 2023-08-19 11:08:55 +10:00 committed by GitHub
parent 20a57a9a9b
commit dc77a1ab93
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 258 additions and 24 deletions

View file

@ -0,0 +1,29 @@
[package]
name = "simple-git"
version = "0.0.0"
edition = "2021"
description = "The simple git interface for gix suitable for async context (with tokio)"
repository = "https://github.com/cargo-bins/cargo-binstall"
documentation = "https://docs.rs/simple-git"
rust-version = "1.65.0"
authors = ["Jiahao XU <Jiahao_XU@outlook.com>"]
license = "Apache-2.0 OR MIT"
[dependencies]
compact_str = "0.7.0"
derive_destructure2 = "0.1"
gix = { version = "0.51.0", features = ["blocking-http-transport-reqwest"] }
thiserror = "1.0.40"
tokio = { version = "1.30.0", features = ["rt", "time"], default-features = false }
tracing = "0.1.37"
[features]
rustls = [
"gix/blocking-http-transport-reqwest-rust-tls",
]
native-tls = [
"gix/blocking-http-transport-reqwest-native-tls",
]
git-max-perf = ["gix/max-performance"]