cargo-binstall/crates/binstalk/Cargo.toml
Jiahao XU 6bdb26930e
Refactor, improvements and bugfix for resolution and installation process (#619)
* Refactor: Extract new mod `ops::resolve::resolution`
* Refactor: Extract new type `ResolutionFetch`
* Refactor: Extract new type `ResolutionSource`
* Improve `Resolution::print`: Provides more details on which crate
   is the resolution for.
* Make `Resolution::print` a pub fn
* Refactor: Extract new fn `ResolutionFetch::install`
* Refactor: Extract new async fn `ResolutionSource::install`
* Optimize `ResolutionSource::install` avoiding `OsStr::to_string_lossy`.
* Add new dep command-group v2.0.0 to binstalk with feat with-tokio
* Fix `ResolutionSource::install`: Use `AsyncCommandGroup::group_spawn`
   instead of `tokio::process::Command::spawn` to ensure all the processes
   spanwed by the `cargo` process can be terminated with one signal sent to
   the `cargo` process.
* Fix printing resolution: Make sure they are printed without interleaving
* Refactor `entry::install_crates`
* Improve dry-run output for `ResolutionSource::install`
* Refactor: Extract new fn `ResolutionFetch::print`
* Refactor: Extract new fn `ResolutionSource::print`
* Optimize `Resolution`: Box unit variant `Fetch`
* Improve formatting of `tokio::process::Command`
   Prints out sth like `cargo install ...` instead of the `Debug::fmt`.
* Improve dry-run output

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-12-28 00:18:07 +00:00

54 lines
1.8 KiB
TOML

[package]
name = "binstalk"
description = "The binstall toolkit (library interface)"
repository = "https://github.com/cargo-bins/cargo-binstall"
documentation = "https://docs.rs/binstalk"
version = "0.6.0"
rust-version = "1.65.0"
authors = ["ryan <ryan@kurte.nz>"]
edition = "2021"
license = "GPL-3.0"
[dependencies]
async-trait = "0.1.60"
binstalk-downloader = { version = "0.2.0", path = "../binstalk-downloader" }
binstalk-types = { version = "0.1.0", path = "../binstalk-types" }
cargo_toml = "0.13.0"
command-group = { version = "2.0.0", features = ["with-tokio"] }
compact_str = { version = "0.6.1", features = ["serde"] }
crates_io_api = { version = "0.8.1", default-features = false }
detect-targets = { version = "0.1.3", path = "../detect-targets" }
either = "1.8.0"
futures-util = { version = "0.3.25", default-features = false, features = ["std"] }
home = "0.5.4"
itertools = "0.10.5"
jobslot = { version = "0.2.8", features = ["tokio"] }
miette = "5.5.0"
normalize-path = { version = "0.2.0", path = "../normalize-path" }
once_cell = "1.16.0"
semver = { version = "1.0.16", features = ["serde"] }
serde = { version = "1.0.151", features = ["derive"] }
strum = "0.24.1"
tempfile = "3.3.0"
thiserror = "1.0.38"
tinytemplate = "1.2.1"
# parking_lot for `tokio::sync::OnceCell::const_new`
tokio = { version = "1.23.0", features = ["rt", "process", "sync", "signal", "parking_lot"], default-features = false }
tracing = "0.1.37"
url = { version = "2.3.1", features = ["serde"] }
xz2 = "0.1.7"
[features]
default = ["static", "rustls"]
static = ["binstalk-downloader/static"]
pkg-config = ["binstalk-downloader/pkg-config"]
zlib-ng = ["binstalk-downloader/zlib-ng"]
rustls = ["crates_io_api/rustls", "binstalk-downloader/rustls"]
native-tls = ["binstalk-downloader/native-tls"]
trust-dns = ["binstalk-downloader/trust-dns"]
zstd-thin = ["binstalk-downloader/zstd-thin"]