mirror of
https://github.com/cargo-bins/cargo-binstall.git
synced 2025-04-24 14:28:42 +00:00
Refactor: Extract new crate binstalk-types plus other misc refactor and optimization (#535)
* Refactor: Extract new crate binstalk-types * Optimize: Rm field `CrateInfo::other` which also removes dep serde-tuple-vec-map and serde-json from binstalk-types. This also makes `CrateInfo` easier to use, more generic and can be used over any `Serializer`, not just `serde_json::Value`. * Mark all errors in `binstalk-manifests` as non_exhaustive * Reduce size of `CvsParseError` by using `Box<str>` instead of `String` for variant `UnknownSourceType`. * Reduce size of `CratesTomlParseError` to 16 bytes on 64bit platform by boxing variants `TomlWrite` and `CvsParse` as these two fields are significantly larger than other variants. * Unify import style in mod `binstall_crates_v1` * Replace dep binstalk-manifests with binstalk-types in binstalk-downloader to reduce its transitive dependencies and enables binstalk-downloader to be built in parallel to binstak-manifests. * Replace dep binstalk-manifests with binstalk-types in binstalk to reduce transitive dependencies and enables binstalk to be built in parallel to binstalk-manifests. This is benefitial because binstalk-manifests pulls in toml_edit, which could takes up to 15s to be built on M1 (7-9s for codegen). * Add dep binstalk-manifests to crates/bin * Update dependabot and GHA release-pr Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
This commit is contained in:
parent
58326a6085
commit
d9cc3ce219
24 changed files with 372 additions and 76 deletions
22
Cargo.lock
generated
22
Cargo.lock
generated
|
@ -110,7 +110,7 @@ version = "0.4.1"
|
|||
dependencies = [
|
||||
"async-trait",
|
||||
"binstalk-downloader",
|
||||
"binstalk-manifests",
|
||||
"binstalk-types",
|
||||
"cargo_toml",
|
||||
"compact_str",
|
||||
"crates_io_api",
|
||||
|
@ -138,7 +138,7 @@ dependencies = [
|
|||
name = "binstalk-downloader"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"binstalk-manifests",
|
||||
"binstalk-types",
|
||||
"binstall-tar",
|
||||
"bytes",
|
||||
"bzip2",
|
||||
|
@ -165,24 +165,35 @@ dependencies = [
|
|||
name = "binstalk-manifests"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"binstalk-types",
|
||||
"compact_str",
|
||||
"detect-targets",
|
||||
"fs-lock",
|
||||
"home",
|
||||
"miette",
|
||||
"once_cell",
|
||||
"semver",
|
||||
"serde",
|
||||
"serde-tuple-vec-map",
|
||||
"serde_json",
|
||||
"strum",
|
||||
"strum_macros",
|
||||
"tempfile",
|
||||
"thiserror",
|
||||
"toml_edit",
|
||||
"url",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "binstalk-types"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"compact_str",
|
||||
"once_cell",
|
||||
"semver",
|
||||
"serde",
|
||||
"strum",
|
||||
"strum_macros",
|
||||
"url",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "binstall-tar"
|
||||
version = "0.4.39"
|
||||
|
@ -274,6 +285,7 @@ name = "cargo-binstall"
|
|||
version = "0.16.0"
|
||||
dependencies = [
|
||||
"binstalk",
|
||||
"binstalk-manifests",
|
||||
"clap",
|
||||
"crates_io_api",
|
||||
"dirs",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue