From 4cdd210858350571e237a28d7567ce45106d0f50 Mon Sep 17 00:00:00 2001 From: Jake Shadle Date: Wed, 26 Jul 2023 14:26:05 +0200 Subject: [PATCH 1/9] Replace crates-index with tame-index --- Cargo.lock | 2039 +++++++++++++++++++++++++++++++++++++++++--- Cargo.toml | 6 +- src/rustdoc_cmd.rs | 4 +- src/rustdoc_gen.rs | 167 ++-- 4 files changed, 2021 insertions(+), 195 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 078edff6..960d3095 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -17,6 +17,18 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "ahash" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +dependencies = [ + "cfg-if", + "getrandom", + "once_cell", + "version_check", +] + [[package]] name = "aho-corasick" version = "1.0.2" @@ -81,6 +93,18 @@ version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854" +[[package]] +name = "arc-swap" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" + +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" + [[package]] name = "assert_cmd" version = "2.0.12" @@ -96,6 +120,19 @@ dependencies = [ "wait-timeout", ] +[[package]] +name = "async-compression" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b74f44609f0f91493e3082d3734d98497e094777144380ea4db9f9905dd5b6" +dependencies = [ + "flate2", + "futures-core", + "memchr", + "pin-project-lite", + "tokio", +] + [[package]] name = "async-graphql-parser" version = "2.11.3" @@ -121,6 +158,17 @@ dependencies = [ "serde_json", ] +[[package]] +name = "async-trait" +version = "0.1.72" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc6dde6e4ed435a4c1ee4e73592f5ba9da2151af10076cc04858746af9352d09" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.27", +] + [[package]] name = "atty" version = "0.2.14" @@ -159,6 +207,12 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +[[package]] +name = "base64" +version = "0.21.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" + [[package]] name = "bitflags" version = "1.3.2" @@ -202,6 +256,15 @@ dependencies = [ "serde", ] +[[package]] +name = "btoi" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9dd6407f73a9b8b6162d8a2ef999fe6afd7cc15902ebf42c5cd296addf17e0ad" +dependencies = [ + "num-traits", +] + [[package]] name = "bugreport" version = "0.5.0" @@ -213,6 +276,12 @@ dependencies = [ "sys-info", ] +[[package]] +name = "bumpalo" +version = "3.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" + [[package]] name = "bytes" version = "1.4.0" @@ -253,7 +322,6 @@ dependencies = [ "clap", "clap-cargo", "clap-verbosity-flag", - "crates-index", "directories", "git2", "handlebars", @@ -269,6 +337,7 @@ dependencies = [ "serde_json", "sha2", "similar-asserts", + "tame-index", "termcolor", "termcolor_output", "toml", @@ -392,6 +461,12 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b" +[[package]] +name = "clru" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8191fa7302e03607ff0e237d4246cc043ff5b3cb9409d995172ba3bea16b807" + [[package]] name = "colorchoice" version = "1.0.0" @@ -420,23 +495,26 @@ dependencies = [ ] [[package]] -name = "crates-index" -version = "0.19.13" +name = "crc32fast" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3cab38e209d6ba8bd5b0d41c784ec63a5a9ea3adf866b820d377588960f1ded" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" dependencies = [ - "git2", - "hex", - "home", - "memchr", - "rayon", - "rustc-hash", - "semver", - "serde", - "serde_derive", - "serde_json", - "smol_str", - "toml", + "cfg-if", +] + +[[package]] +name = "crossbeam" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2801af0d36612ae591caa9568261fddce32ce6e08a7275ea334a06a4ad021a2c" +dependencies = [ + "cfg-if", + "crossbeam-channel", + "crossbeam-deque", + "crossbeam-epoch", + "crossbeam-queue", + "crossbeam-utils", ] [[package]] @@ -473,6 +551,16 @@ dependencies = [ "scopeguard", ] +[[package]] +name = "crossbeam-queue" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add" +dependencies = [ + "cfg-if", + "crossbeam-utils", +] + [[package]] name = "crossbeam-utils" version = "0.8.16" @@ -492,6 +580,12 @@ dependencies = [ "typenum", ] +[[package]] +name = "data-encoding" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" + [[package]] name = "difflib" version = "0.4.0" @@ -535,6 +629,12 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" +[[package]] +name = "dunce" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" + [[package]] name = "either" version = "1.9.0" @@ -547,6 +647,27 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" +[[package]] +name = "encoding_rs" +version = "0.8.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "enum-as-inner" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9720bba047d567ffc8a3cba48bf19126600e249ab7f128e9233e6376976a116" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "equivalent" version = "1.0.1" @@ -574,6 +695,34 @@ dependencies = [ "libc", ] +[[package]] +name = "fastrand" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" + +[[package]] +name = "filetime" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.2.16", + "windows-sys 0.48.0", +] + +[[package]] +name = "flate2" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + [[package]] name = "fnv" version = "1.0.7" @@ -589,6 +738,66 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "futures-channel" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +dependencies = [ + "futures-core", +] + +[[package]] +name = "futures-core" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" + +[[package]] +name = "futures-io" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" + +[[package]] +name = "futures-macro" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.27", +] + +[[package]] +name = "futures-sink" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" + +[[package]] +name = "futures-task" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" + +[[package]] +name = "futures-util" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +dependencies = [ + "futures-core", + "futures-io", + "futures-macro", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + [[package]] name = "generic-array" version = "0.14.7" @@ -648,132 +857,949 @@ dependencies = [ "libc", "libgit2-sys", "log", - "openssl-probe", - "openssl-sys", "url", ] [[package]] -name = "globset" -version = "0.4.11" +name = "gix" +version = "0.50.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "275b1bfa0d6f6ed31a2e2e878a4539f4994eac8840546283ab3aebbd8fcaa42d" +dependencies = [ + "gix-actor", + "gix-attributes", + "gix-commitgraph", + "gix-config", + "gix-credentials", + "gix-date", + "gix-diff", + "gix-discover", + "gix-features", + "gix-filter", + "gix-fs", + "gix-glob", + "gix-hash", + "gix-hashtable", + "gix-ignore", + "gix-index", + "gix-lock", + "gix-mailmap", + "gix-negotiate", + "gix-object", + "gix-odb", + "gix-pack", + "gix-path", + "gix-prompt", + "gix-protocol", + "gix-ref", + "gix-refspec", + "gix-revision", + "gix-sec", + "gix-tempfile", + "gix-trace", + "gix-transport", + "gix-traverse", + "gix-url", + "gix-utils", + "gix-validate", + "gix-worktree", + "log", + "once_cell", + "reqwest", + "signal-hook", + "smallvec", + "thiserror", + "unicode-normalization", +] + +[[package]] +name = "gix-actor" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1391ab1f92ffcc08911957149833e682aa3fe252b9f45f966d2ef972274c97df" +checksum = "c7606482631d56cc6bfba3394ae42fc64927635024298befbb7923b6144774e8" dependencies = [ - "aho-corasick", "bstr 1.6.0", - "fnv", - "log", - "regex", + "btoi", + "gix-date", + "itoa", + "nom", + "thiserror", ] [[package]] -name = "handlebars" -version = "4.3.7" +name = "gix-attributes" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83c3372087601b532857d332f5957cbae686da52bb7810bf038c3e3c3cc2fa0d" +checksum = "63a134a674e39e238bd273326a9815296cc71f867ad5466518da71392cff98ce" dependencies = [ + "bstr 1.6.0", + "gix-glob", + "gix-path", + "gix-quote", + "kstring", "log", - "pest", - "pest_derive", - "serde", - "serde_json", + "smallvec", "thiserror", + "unicode-bom", ] [[package]] -name = "hashbrown" -version = "0.12.3" +name = "gix-bitmap" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +checksum = "0aa8bbde7551a9e3e783a2871f53bbb0f50aac7a77db5680c8709f69e8ce724f" +dependencies = [ + "thiserror", +] [[package]] -name = "hashbrown" -version = "0.14.0" +name = "gix-chunk" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" +checksum = "5b42ea64420f7994000130328f3c7a2038f639120518870436d31b8bde704493" +dependencies = [ + "thiserror", +] [[package]] -name = "heck" -version = "0.4.1" +name = "gix-command" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +checksum = "2783ad148fb16bf9cfd46423706ba552a62a4d4a18fda5dd07648eb0228862dd" +dependencies = [ + "bstr 1.6.0", +] [[package]] -name = "hermit-abi" -version = "0.1.19" +name = "gix-commitgraph" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +checksum = "c4c2d5ce99eba59fe9477a9e3037b0e1d0266d53925cc4b322bc06c566589b99" dependencies = [ - "libc", + "bstr 1.6.0", + "gix-chunk", + "gix-features", + "gix-hash", + "memmap2", + "thiserror", ] [[package]] -name = "hermit-abi" -version = "0.3.2" +name = "gix-config" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" +checksum = "b51e83bd9d08118e0ff06ea14be953c418b4c056e57d93c8103e777584e48b0a" +dependencies = [ + "bstr 1.6.0", + "gix-config-value", + "gix-features", + "gix-glob", + "gix-path", + "gix-ref", + "gix-sec", + "log", + "memchr", + "nom", + "once_cell", + "smallvec", + "thiserror", + "unicode-bom", +] [[package]] -name = "hex" -version = "0.4.3" +name = "gix-config-value" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +checksum = "6e874f41437441c02991dcea76990b9058fadfc54b02ab4dd06ab2218af43897" dependencies = [ - "serde", + "bitflags 2.3.3", + "bstr 1.6.0", + "gix-path", + "libc", + "thiserror", ] [[package]] -name = "home" -version = "0.5.5" +name = "gix-credentials" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" +checksum = "307d91ec5f7c8e9bfaa217fe30c2e0099101cbe83dbed27a222dbb6def38725f" dependencies = [ - "windows-sys 0.48.0", + "bstr 1.6.0", + "gix-command", + "gix-config-value", + "gix-path", + "gix-prompt", + "gix-sec", + "gix-url", + "thiserror", ] [[package]] -name = "human-panic" -version = "1.1.5" +name = "gix-date" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38a841f87949b0dd751864e769a870be79dc34abcee1cf31d737a61d498b22b6" +checksum = "56b0312dba1ad003d9b8c502bed52fbcf106f8de3a9a26bfa7b45642a6f94b72" dependencies = [ - "anstream", - "anstyle", - "backtrace", - "os_info", - "serde", - "serde_derive", - "toml", - "uuid", + "bstr 1.6.0", + "itoa", + "thiserror", + "time", ] [[package]] -name = "idna" -version = "0.4.0" +name = "gix-diff" +version = "0.33.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +checksum = "9a49d7a9a9ed5ec3428c3061da45d0fc5f50b3c07b91ea4e7ec4959668f25f6c" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "gix-hash", + "gix-object", + "imara-diff", + "thiserror", ] [[package]] -name = "ignore" -version = "0.4.20" +name = "gix-discover" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492" +checksum = "041480eb03d8aa0894d9b73d25d182d51bc4d0ea8925a6ee0c971262bbc7715e" dependencies = [ - "globset", - "lazy_static", - "log", - "memchr", - "regex", - "same-file", + "bstr 1.6.0", + "dunce", + "gix-hash", + "gix-path", + "gix-ref", + "gix-sec", + "thiserror", +] + +[[package]] +name = "gix-features" +version = "0.32.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "882695cccf38da4c3cc7ee687bdb412cf25e37932d7f8f2c306112ea712449f1" +dependencies = [ + "bytes", + "crc32fast", + "crossbeam-channel", + "flate2", + "gix-hash", + "gix-trace", + "jwalk", + "libc", + "once_cell", + "parking_lot", + "prodash", + "sha1_smol", + "thiserror", + "walkdir", +] + +[[package]] +name = "gix-filter" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef4d4d61f2ab07de4612f8e078d7f1a443c7ab5c40f382784c8eacdf0fd172b9" +dependencies = [ + "bstr 1.6.0", + "encoding_rs", + "gix-attributes", + "gix-command", + "gix-hash", + "gix-object", + "gix-packetline-blocking", + "gix-path", + "gix-quote", + "gix-trace", + "smallvec", + "thiserror", +] + +[[package]] +name = "gix-fs" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d5b6e9d34a2c61ea4a02bbca94c409ab6dbbca1348cbb67298cd7fed8758761" +dependencies = [ + "gix-features", +] + +[[package]] +name = "gix-glob" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7c79b881a18d89a75876ba277476d5a2bad5b19f03759c7a07e0808dfe08212" +dependencies = [ + "bitflags 2.3.3", + "bstr 1.6.0", + "gix-features", + "gix-path", +] + +[[package]] +name = "gix-hash" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b422ff2ad9a0628baaad6da468cf05385bf3f5ab495ad5a33cce99b9f41092f" +dependencies = [ + "hex", + "thiserror", +] + +[[package]] +name = "gix-hashtable" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "385f4ce6ecf3692d313ca3aa9bd3b3d8490de53368d6d94bedff3af8b6d9c58d" +dependencies = [ + "gix-hash", + "hashbrown 0.14.0", + "parking_lot", +] + +[[package]] +name = "gix-ignore" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a88b95ceb3bc45abcab6eb55ef4e0053e58b4df0712d3f9aec7d0ca990952603" +dependencies = [ + "bstr 1.6.0", + "gix-glob", + "gix-path", + "unicode-bom", +] + +[[package]] +name = "gix-index" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "732f61ec71576bd443a3c24f4716dc7eac180d8929e7bb8603c7310161507106" +dependencies = [ + "bitflags 2.3.3", + "bstr 1.6.0", + "btoi", + "filetime", + "gix-bitmap", + "gix-features", + "gix-fs", + "gix-hash", + "gix-lock", + "gix-object", + "gix-traverse", + "itoa", + "memmap2", + "smallvec", + "thiserror", +] + +[[package]] +name = "gix-lock" +version = "7.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e82ec23c8a281f91044bf3ed126063b91b59f9c9340bf0ae746f385cc85a6fa" +dependencies = [ + "gix-tempfile", + "gix-utils", + "thiserror", +] + +[[package]] +name = "gix-mailmap" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fc0dbbf35d29639770af68d7ff55924d83786c8924b0e6a1766af1a98b7d58b" +dependencies = [ + "bstr 1.6.0", + "gix-actor", + "gix-date", + "thiserror", +] + +[[package]] +name = "gix-negotiate" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce0061b7ae867e830c77b1ecfc5875f0d042aebb3d7e6014d04fd86ca6c71d59" +dependencies = [ + "bitflags 2.3.3", + "gix-commitgraph", + "gix-date", + "gix-hash", + "gix-object", + "gix-revwalk", + "smallvec", + "thiserror", +] + +[[package]] +name = "gix-object" +version = "0.33.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70f18b688854af4440695b943e705877f94171325b8bcacaee2d898ecf2766d2" +dependencies = [ + "bstr 1.6.0", + "btoi", + "gix-actor", + "gix-date", + "gix-features", + "gix-hash", + "gix-validate", + "hex", + "itoa", + "nom", + "smallvec", + "thiserror", +] + +[[package]] +name = "gix-odb" +version = "0.50.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dc2129d25313b594adfb5a71f2a617aaa2c3c4cfd3b2943823692db12fbc1db" +dependencies = [ + "arc-swap", + "gix-date", + "gix-features", + "gix-hash", + "gix-object", + "gix-pack", + "gix-path", + "gix-quote", + "parking_lot", + "tempfile", + "thiserror", +] + +[[package]] +name = "gix-pack" +version = "0.40.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46f029a4dce9ac91da35c968c3abdcae573b3e52c123be86cbab3011599de533" +dependencies = [ + "clru", + "gix-chunk", + "gix-diff", + "gix-features", + "gix-hash", + "gix-hashtable", + "gix-object", + "gix-path", + "gix-tempfile", + "gix-traverse", + "memmap2", + "parking_lot", + "smallvec", + "thiserror", + "uluru", +] + +[[package]] +name = "gix-packetline" +version = "0.16.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb532b34627186a9a2705a360f64f6a8feb34c42344b127f9f230687d85358bd" +dependencies = [ + "bstr 1.6.0", + "hex", + "thiserror", +] + +[[package]] +name = "gix-packetline-blocking" +version = "0.16.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20276373def40fc3be7a86d09e1bb607d33dd6bf83e3504e83cd594e51438667" +dependencies = [ + "bstr 1.6.0", + "hex", + "thiserror", +] + +[[package]] +name = "gix-path" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18609c8cbec8508ea97c64938c33cd305b75dfc04a78d0c3b78b8b3fd618a77c" +dependencies = [ + "bstr 1.6.0", + "gix-trace", + "home", + "once_cell", + "thiserror", +] + +[[package]] +name = "gix-prompt" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f755e8eb83ee9a06642a8fbd3009b033db2b5bd774f3aaf3de0b07f9b6ebdc5" +dependencies = [ + "gix-command", + "gix-config-value", + "parking_lot", + "rustix", + "thiserror", +] + +[[package]] +name = "gix-protocol" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f8cf8b48ad5510a6ea3c8b529f51fd0f31009a2e46579f3a0ed917669035170" +dependencies = [ + "bstr 1.6.0", + "btoi", + "gix-credentials", + "gix-date", + "gix-features", + "gix-hash", + "gix-transport", + "maybe-async", + "nom", + "thiserror", +] + +[[package]] +name = "gix-quote" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfd80d3d0c733508df9449b1d3795da36083807e31d851d7d61d29af13bd4b0a" +dependencies = [ + "bstr 1.6.0", + "btoi", + "thiserror", +] + +[[package]] +name = "gix-ref" +version = "0.33.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c16776eab78f4a918464064fa9c0f640014e8f1c3f9d1d366e929251c7193b2c" +dependencies = [ + "gix-actor", + "gix-date", + "gix-features", + "gix-fs", + "gix-hash", + "gix-lock", + "gix-object", + "gix-path", + "gix-tempfile", + "gix-validate", + "memmap2", + "nom", + "thiserror", +] + +[[package]] +name = "gix-refspec" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d19a02bf740b326d6c082a7d6f754ebe56eef900986c5e91be7cf000df9ea18d" +dependencies = [ + "bstr 1.6.0", + "gix-hash", + "gix-revision", + "gix-validate", + "smallvec", + "thiserror", +] + +[[package]] +name = "gix-revision" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38a13500890435e3b9e7746bceda248646bfc69e259210884c98e29bb7a1aa6f" +dependencies = [ + "bstr 1.6.0", + "gix-date", + "gix-hash", + "gix-hashtable", + "gix-object", + "gix-revwalk", + "thiserror", +] + +[[package]] +name = "gix-revwalk" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71d4cbaf3cfbfde2b81b5ee8b469aff42c34693ce0fe17fc3c244d5085307f2c" +dependencies = [ + "gix-commitgraph", + "gix-date", + "gix-hash", + "gix-hashtable", + "gix-object", + "smallvec", + "thiserror", +] + +[[package]] +name = "gix-sec" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9615cbd6b456898aeb942cd75e5810c382fbfc48dbbff2fa23ebd2d33dcbe9c7" +dependencies = [ + "bitflags 2.3.3", + "gix-path", + "libc", + "windows", +] + +[[package]] +name = "gix-tempfile" +version = "7.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa28d567848cec8fdd77d36ad4f5f78ecfaba7d78f647d4f63c8ae1a2cec7243" +dependencies = [ + "gix-fs", + "libc", + "once_cell", + "parking_lot", + "signal-hook", + "signal-hook-registry", + "tempfile", +] + +[[package]] +name = "gix-trace" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96b6d623a1152c3facb79067d6e2ecdae48130030cf27d6eb21109f13bd7b836" + +[[package]] +name = "gix-transport" +version = "0.34.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99fffe5a95a522200ad47b97c19c9b0c204fc415dffa4a993d727394e6d59ef8" +dependencies = [ + "base64 0.21.2", + "bstr 1.6.0", + "gix-command", + "gix-credentials", + "gix-features", + "gix-packetline", + "gix-quote", + "gix-sec", + "gix-url", + "reqwest", + "thiserror", +] + +[[package]] +name = "gix-traverse" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e12e0fe428394226c37dd686ad64b09a04b569fe157d638b125b4a4c1e7e2df0" +dependencies = [ + "gix-commitgraph", + "gix-date", + "gix-hash", + "gix-hashtable", + "gix-object", + "gix-revwalk", + "smallvec", + "thiserror", +] + +[[package]] +name = "gix-url" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4411bdbd1d46b35ae50e84c191660d437f89974e4236627785024be0b577170a" +dependencies = [ + "bstr 1.6.0", + "gix-features", + "gix-path", + "home", + "thiserror", + "url", +] + +[[package]] +name = "gix-utils" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b85d89dc728613e26e0ed952a19583744e7f5240fcd4aa30d6c824ffd8b52f0f" +dependencies = [ + "fastrand", +] + +[[package]] +name = "gix-validate" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba9b3737b2cef3dcd014633485f0034b0f1a931ee54aeb7d8f87f177f3c89040" +dependencies = [ + "bstr 1.6.0", + "thiserror", +] + +[[package]] +name = "gix-worktree" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fd60b32d15287aef77e4fb1955627e0db1f13e40bf9a3481100223a51791f5f" +dependencies = [ + "bstr 1.6.0", + "filetime", + "gix-attributes", + "gix-features", + "gix-filter", + "gix-fs", + "gix-glob", + "gix-hash", + "gix-ignore", + "gix-index", + "gix-object", + "gix-path", + "io-close", + "thiserror", +] + +[[package]] +name = "globset" +version = "0.4.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1391ab1f92ffcc08911957149833e682aa3fe252b9f45f966d2ef972274c97df" +dependencies = [ + "aho-corasick", + "bstr 1.6.0", + "fnv", + "log", + "regex", +] + +[[package]] +name = "h2" +version = "0.3.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97ec8491ebaf99c8eaa73058b045fe58073cd6be7f596ac993ced0b0a0c01049" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap 1.9.3", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "handlebars" +version = "4.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83c3372087601b532857d332f5957cbae686da52bb7810bf038c3e3c3cc2fa0d" +dependencies = [ + "log", + "pest", + "pest_derive", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "hermit-abi" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "home" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" +dependencies = [ + "windows-sys 0.48.0", +] + +[[package]] +name = "hostname" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" +dependencies = [ + "libc", + "match_cfg", + "winapi", +] + +[[package]] +name = "http" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +dependencies = [ + "bytes", + "http", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" + +[[package]] +name = "httpdate" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" + +[[package]] +name = "human-panic" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38a841f87949b0dd751864e769a870be79dc34abcee1cf31d737a61d498b22b6" +dependencies = [ + "anstream", + "anstyle", + "backtrace", + "os_info", + "serde", + "serde_derive", + "toml", + "uuid", +] + +[[package]] +name = "hyper" +version = "0.14.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2 0.4.9", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97" +dependencies = [ + "futures-util", + "http", + "hyper", + "rustls", + "tokio", + "tokio-rustls", +] + +[[package]] +name = "idna" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" +dependencies = [ + "matches", + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "idna" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "ignore" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492" +dependencies = [ + "globset", + "lazy_static", + "log", + "memchr", + "regex", + "same-file", "thread_local", "walkdir", "winapi-util", ] +[[package]] +name = "imara-diff" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e98c1d0ad70fc91b8b9654b1f33db55e59579d3b3de2bffdced0fdb810570cb8" +dependencies = [ + "ahash", + "hashbrown 0.12.3", +] + [[package]] name = "indexmap" version = "1.9.3" @@ -795,6 +1821,34 @@ dependencies = [ "hashbrown 0.14.0", ] +[[package]] +name = "io-close" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cadcf447f06744f8ce713d2d6239bb5bde2c357a452397a9ed90c625da390bc" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "ipconfig" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" +dependencies = [ + "socket2 0.5.3", + "widestring", + "windows-sys 0.48.0", + "winreg 0.50.0", +] + +[[package]] +name = "ipnet" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" + [[package]] name = "is-terminal" version = "0.4.9" @@ -839,6 +1893,34 @@ dependencies = [ "libc", ] +[[package]] +name = "js-sys" +version = "0.3.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "jwalk" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2735847566356cd2179a2a38264839308f7079fa96e6bd5a42d740460e003c56" +dependencies = [ + "crossbeam", + "rayon", +] + +[[package]] +name = "kstring" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec3066350882a1cd6d950d055997f379ac37fd39f81cd4d8ed186032eb3c5747" +dependencies = [ + "static_assertions", +] + [[package]] name = "lazy_static" version = "1.4.0" @@ -860,7 +1942,6 @@ dependencies = [ "cc", "libc", "libz-sys", - "openssl-sys", "pkg-config", ] @@ -876,30 +1957,87 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "linked-hash-map" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" + [[package]] name = "linux-raw-sys" version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0" +[[package]] +name = "lock_api" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" +dependencies = [ + "autocfg", + "scopeguard", +] + [[package]] name = "log" version = "0.4.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" +[[package]] +name = "lru-cache" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c" +dependencies = [ + "linked-hash-map", +] + [[package]] name = "maplit" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" +[[package]] +name = "match_cfg" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" + +[[package]] +name = "matches" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" + +[[package]] +name = "maybe-async" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1b8c13cb1f814b634a96b2c725449fe7ed464a7b8781de8688be5ffbd3f305" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "memchr" version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +[[package]] +name = "memmap2" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f49388d20533534cd19360ad3d6a7dadc885944aa802ba3995040c5ec11288c6" +dependencies = [ + "libc", +] + [[package]] name = "memoffset" version = "0.9.0" @@ -909,6 +2047,18 @@ dependencies = [ "autocfg", ] +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + [[package]] name = "miniz_oxide" version = "0.7.1" @@ -919,58 +2069,69 @@ dependencies = [ ] [[package]] -name = "num_cpus" -version = "1.16.0" +name = "mio" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" dependencies = [ - "hermit-abi 0.3.2", "libc", + "wasi", + "windows-sys 0.48.0", ] [[package]] -name = "object" -version = "0.31.1" +name = "nom" +version = "7.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" dependencies = [ "memchr", + "minimal-lexical", ] [[package]] -name = "once_cell" -version = "1.18.0" +name = "num-traits" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" +dependencies = [ + "autocfg", +] [[package]] -name = "openssl-probe" -version = "0.1.5" +name = "num_cpus" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +dependencies = [ + "hermit-abi 0.3.2", + "libc", +] [[package]] -name = "openssl-src" -version = "111.26.0+1.1.1u" +name = "num_threads" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efc62c9f12b22b8f5208c23a7200a442b2e5999f8bdf80233852122b5a4f6f37" +checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" dependencies = [ - "cc", + "libc", ] [[package]] -name = "openssl-sys" -version = "0.9.90" +name = "object" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6" +checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1" dependencies = [ - "cc", - "libc", - "openssl-src", - "pkg-config", - "vcpkg", + "memchr", ] +[[package]] +name = "once_cell" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" + [[package]] name = "option-ext" version = "0.2.0" @@ -988,6 +2149,29 @@ dependencies = [ "winapi", ] +[[package]] +name = "parking_lot" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.3.5", + "smallvec", + "windows-targets 0.48.1", +] + [[package]] name = "percent-encoding" version = "2.3.0" @@ -1038,12 +2222,30 @@ dependencies = [ "sha2", ] +[[package]] +name = "pin-project-lite" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + [[package]] name = "pkg-config" version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + [[package]] name = "predicates" version = "3.0.3" @@ -1087,6 +2289,18 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "prodash" +version = "25.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c236e70b7f9b9ea00d33c69f63ec1ae6e9ae96118923cd37bd4e9c7396f0b107" + +[[package]] +name = "quick-error" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" + [[package]] name = "quote" version = "1.0.32" @@ -1096,6 +2310,36 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + [[package]] name = "rayon" version = "1.7.0" @@ -1127,6 +2371,15 @@ dependencies = [ "bitflags 1.3.2", ] +[[package]] +name = "redox_syscall" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +dependencies = [ + "bitflags 1.3.2", +] + [[package]] name = "redox_users" version = "0.4.3" @@ -1134,7 +2387,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" dependencies = [ "getrandom", - "redox_syscall", + "redox_syscall 0.2.16", "thiserror", ] @@ -1173,13 +2426,80 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" +[[package]] +name = "reqwest" +version = "0.11.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55" +dependencies = [ + "async-compression", + "base64 0.21.2", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "hyper", + "hyper-rustls", + "ipnet", + "js-sys", + "log", + "mime", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls", + "rustls-pemfile", + "serde", + "serde_json", + "serde_urlencoded", + "tokio", + "tokio-rustls", + "tokio-util", + "tower-service", + "trust-dns-resolver", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "webpki-roots", + "winreg 0.10.1", +] + +[[package]] +name = "resolv-conf" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" +dependencies = [ + "hostname", + "quick-error", +] + +[[package]] +name = "ring" +version = "0.16.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +dependencies = [ + "cc", + "libc", + "once_cell", + "spin", + "untrusted", + "web-sys", + "winapi", +] + [[package]] name = "ron" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "300a51053b1cb55c80b7a9fde4120726ddf25ca241a1cbb926626f62fb136bff" dependencies = [ - "base64", + "base64 0.13.1", "bitflags 1.3.2", "serde", ] @@ -1190,12 +2510,6 @@ version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - [[package]] name = "rustc_version" version = "0.4.0" @@ -1245,6 +2559,37 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "rustls" +version = "0.21.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79ea77c539259495ce8ca47f53e66ae0330a8819f67e23ac96ca02f50e7b7d36" +dependencies = [ + "log", + "ring", + "rustls-webpki", + "sct", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" +dependencies = [ + "base64 0.21.2", +] + +[[package]] +name = "rustls-webpki" +version = "0.101.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15f36a6828982f422756984e47912a7a51dcbc2a197aa791158f8ca61cd8204e" +dependencies = [ + "ring", + "untrusted", +] + [[package]] name = "ryu" version = "1.0.15" @@ -1266,6 +2611,16 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +[[package]] +name = "sct" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +dependencies = [ + "ring", + "untrusted", +] + [[package]] name = "semver" version = "1.0.18" @@ -1315,22 +2670,59 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "sha1_smol" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012" + [[package]] name = "sha2" version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" dependencies = [ - "cfg-if", - "cpufeatures", - "digest", + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "shell-escape" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f" + +[[package]] +name = "signal-hook" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801" +dependencies = [ + "libc", + "signal-hook-registry", ] [[package]] -name = "shell-escape" -version = "0.1.5" +name = "signal-hook-registry" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +dependencies = [ + "libc", +] [[package]] name = "similar" @@ -1353,6 +2745,15 @@ dependencies = [ "similar", ] +[[package]] +name = "slab" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" +dependencies = [ + "autocfg", +] + [[package]] name = "smallvec" version = "1.11.0" @@ -1371,6 +2772,38 @@ dependencies = [ "serde", ] +[[package]] +name = "socket2" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "socket2" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877" +dependencies = [ + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + [[package]] name = "strsim" version = "0.10.0" @@ -1409,6 +2842,40 @@ dependencies = [ "libc", ] +[[package]] +name = "tame-index" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "289df16aad0de3f74ae28bbeb1794dd6d4b4ae4f33c9272a762c0cc49b5a9956" +dependencies = [ + "camino", + "gix", + "home", + "http", + "memchr", + "reqwest", + "semver", + "serde", + "serde_json", + "smol_str", + "thiserror", + "toml", + "twox-hash", +] + +[[package]] +name = "tempfile" +version = "3.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5486094ee78b2e5038a6382ed7645bc084dc2ec433426ca4c3cb61e2007b8998" +dependencies = [ + "cfg-if", + "fastrand", + "redox_syscall 0.3.5", + "rustix", + "windows-sys 0.48.0", +] + [[package]] name = "termcolor" version = "1.2.0" @@ -1470,6 +2937,35 @@ dependencies = [ "once_cell", ] +[[package]] +name = "time" +version = "0.3.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59e399c068f43a5d116fedaf73b203fa4f9c519f17e2b34f63221d3792f81446" +dependencies = [ + "itoa", + "libc", + "num_threads", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" + +[[package]] +name = "time-macros" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96ba15a897f3c86766b757e5ac7221554c6750054d74d5b28844fce5fb36a6c4" +dependencies = [ + "time-core", +] + [[package]] name = "tinyvec" version = "1.6.0" @@ -1485,6 +2981,47 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" +[[package]] +name = "tokio" +version = "1.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da" +dependencies = [ + "autocfg", + "backtrace", + "bytes", + "libc", + "mio", + "num_cpus", + "pin-project-lite", + "socket2 0.4.9", + "windows-sys 0.48.0", +] + +[[package]] +name = "tokio-rustls" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" +dependencies = [ + "rustls", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", + "tracing", +] + [[package]] name = "toml" version = "0.7.6" @@ -1519,6 +3056,89 @@ dependencies = [ "winnow", ] +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + +[[package]] +name = "tracing" +version = "0.1.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +dependencies = [ + "cfg-if", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.27", +] + +[[package]] +name = "tracing-core" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" +dependencies = [ + "once_cell", +] + +[[package]] +name = "trust-dns-proto" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f7f83d1e4a0e4358ac54c5c3681e5d7da5efc5a7a632c90bb6d6669ddd9bc26" +dependencies = [ + "async-trait", + "cfg-if", + "data-encoding", + "enum-as-inner", + "futures-channel", + "futures-io", + "futures-util", + "idna 0.2.3", + "ipnet", + "lazy_static", + "rand", + "smallvec", + "thiserror", + "tinyvec", + "tokio", + "tracing", + "url", +] + +[[package]] +name = "trust-dns-resolver" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aff21aa4dcefb0a1afbfac26deb0adc93888c7d295fb63ab273ef276ba2b7cfe" +dependencies = [ + "cfg-if", + "futures-util", + "ipconfig", + "lazy_static", + "lru-cache", + "parking_lot", + "resolv-conf", + "smallvec", + "thiserror", + "tokio", + "tracing", + "trust-dns-proto", +] + [[package]] name = "trustfall" version = "0.6.0" @@ -1604,6 +3224,22 @@ dependencies = [ "trustfall-rustdoc-adapter 26.2.0", ] +[[package]] +name = "try-lock" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" + +[[package]] +name = "twox-hash" +version = "1.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" +dependencies = [ + "cfg-if", + "static_assertions", +] + [[package]] name = "typenum" version = "1.16.0" @@ -1616,12 +3252,27 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" +[[package]] +name = "uluru" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "794a32261a1f5eb6a4462c81b59cec87b5c27d5deea7dd1ac8fc781c41d226db" +dependencies = [ + "arrayvec", +] + [[package]] name = "unicode-bidi" version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" +[[package]] +name = "unicode-bom" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98e90c70c9f0d4d1ee6d0a7d04aa06cb9bbd53d8cfbdd62a0269a7c2eb640552" + [[package]] name = "unicode-ident" version = "1.0.11" @@ -1643,6 +3294,12 @@ version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" +[[package]] +name = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + [[package]] name = "url" version = "2.4.0" @@ -1650,7 +3307,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" dependencies = [ "form_urlencoded", - "idna", + "idna 0.4.0", "percent-encoding", ] @@ -1700,12 +3357,122 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasm-bindgen" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.27", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.27", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" + +[[package]] +name = "web-sys" +version = "0.3.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "webpki-roots" +version = "0.22.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" +dependencies = [ + "webpki", +] + +[[package]] +name = "widestring" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8" + [[package]] name = "winapi" version = "0.3.9" @@ -1737,6 +3504,15 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +dependencies = [ + "windows-targets 0.48.1", +] + [[package]] name = "windows-sys" version = "0.45.0" @@ -1877,3 +3653,22 @@ checksum = "81fac9742fd1ad1bd9643b991319f72dd031016d44b77039a26977eb667141e7" dependencies = [ "memchr", ] + +[[package]] +name = "winreg" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" +dependencies = [ + "winapi", +] + +[[package]] +name = "winreg" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] diff --git a/Cargo.toml b/Cargo.toml index 1656f6a0..d9945ed4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -31,7 +31,7 @@ ignore = "0.4.18" clap-verbosity-flag = "2.0.0" log = "0.4.17" git2 = { version = "0.17.0", default-features = false } -crates-index = { version = "0.19.10" } +tame-index = { version = "0.2", features = ["git", "sparse"] } human-panic = "1.0.3" bugreport = "0.5.0" itertools = "0.11.0" @@ -46,10 +46,6 @@ assert_cmd = "2.0" lazy_static = "1.4.0" similar-asserts = { version = "1.4.2", features = ["serde"] } -[features] -default = ["vendored-openssl"] -vendored-openssl = ["crates-index/vendored-openssl"] - # In dev and test profiles, compile all dependencies with optimizations enabled, # but still checking debug assertions and overflows. # diff --git a/src/rustdoc_cmd.rs b/src/rustdoc_cmd.rs index 9e922e4b..5330f847 100644 --- a/src/rustdoc_cmd.rs +++ b/src/rustdoc_cmd.rs @@ -214,11 +214,11 @@ fn create_placeholder_rustdoc_manifest( }, dependencies: { let project_with_features: DependencyDetail = match crate_source { - CrateSource::Registry { crate_ } => DependencyDetail { + CrateSource::Registry { version, .. } => DependencyDetail { // We need the *exact* version as a dependency, or else cargo will // give us the latest semver-compatible version which is not we want. // Fixes: https://github.com/obi1kenobi/cargo-semver-checks/issues/261 - version: Some(format!("={}", crate_.version())), + version: Some(format!("={version}")), features: crate_source .feature_list_from_config(config, crate_data.feature_config), default_features: matches!( diff --git a/src/rustdoc_gen.rs b/src/rustdoc_gen.rs index b3e029e4..e937f3a1 100644 --- a/src/rustdoc_gen.rs +++ b/src/rustdoc_gen.rs @@ -1,10 +1,10 @@ use std::path::PathBuf; -use anyhow::Context; -use crates_index::Crate; +use anyhow::Context as _; use itertools::Itertools; use serde::Serialize; use sha2::{Digest, Sha256}; +use tame_index::IndexKrate; use crate::manifest::Manifest; use crate::rustdoc_cmd::RustdocCommand; @@ -13,21 +13,26 @@ use crate::GlobalConfig; #[derive(Debug, Clone)] pub(crate) enum CrateSource<'a> { - Registry { crate_: &'a crates_index::Version }, - ManifestPath { manifest: &'a Manifest }, + Registry { + crate_: &'a tame_index::IndexVersion, + version: String, + }, + ManifestPath { + manifest: &'a Manifest, + }, } impl<'a> CrateSource<'a> { pub(crate) fn name(&self) -> anyhow::Result<&str> { Ok(match self { - Self::Registry { crate_ } => crate_.name(), + Self::Registry { crate_, .. } => &crate_.name, Self::ManifestPath { manifest } => crate::manifest::get_package_name(manifest)?, }) } pub(crate) fn version(&self) -> anyhow::Result<&str> { Ok(match self { - Self::Registry { crate_ } => crate_.version(), + Self::Registry { version, .. } => version.as_str(), Self::ManifestPath { manifest } => crate::manifest::get_package_version(manifest)?, }) } @@ -49,7 +54,7 @@ impl<'a> CrateSource<'a> { /// pub(crate) fn regular_features(&self) -> Vec { match self { - Self::Registry { crate_ } => crate_.features().keys().cloned().collect(), + Self::Registry { crate_, .. } => crate_.features().map(|(k, _v)| k).cloned().collect(), Self::ManifestPath { manifest } => manifest.parsed.features.keys().cloned().collect(), } } @@ -58,11 +63,10 @@ impl<'a> CrateSource<'a> { /// pub(crate) fn implicit_features(&self) -> std::collections::BTreeSet { let mut implicit_features: std::collections::BTreeSet<_> = match self { - Self::Registry { crate_ } => crate_ + Self::Registry { crate_, .. } => crate_ .dependencies() .iter() - .filter_map(|dep| dep.is_optional().then_some(dep.name())) - .map(|x| x.to_string()) + .filter_map(|dep| dep.is_optional().then(|| dep.name.to_string())) .collect(), Self::ManifestPath { manifest } => { let mut dependencies = manifest.parsed.dependencies.clone(); @@ -75,14 +79,13 @@ impl<'a> CrateSource<'a> { } dependencies .iter() - .filter_map(|(name, dep)| dep.optional().then_some(name)) - .map(|x| x.to_string()) + .filter_map(|(name, dep)| dep.optional().then(|| name.clone())) .collect() } }; let feature_defns: Vec<&String> = match self { - Self::Registry { crate_ } => crate_.features().values().flatten().collect(), + Self::Registry { crate_, .. } => crate_.features().flat_map(|(_k, v)| v).collect(), Self::ManifestPath { manifest } => { manifest.parsed.features.values().flatten().collect() } @@ -582,7 +585,7 @@ fn bytes2str(b: &[u8]) -> &std::ffi::OsStr { pub(crate) struct RustdocFromRegistry { target_root: PathBuf, version: Option, - index: crates_index::Index, + index: tame_index::index::ComboIndex, } impl core::fmt::Debug for RustdocFromRegistry { @@ -597,13 +600,56 @@ impl core::fmt::Debug for RustdocFromRegistry { impl RustdocFromRegistry { pub fn new(target_root: &std::path::Path, config: &mut GlobalConfig) -> anyhow::Result { - let mut index = crates_index::Index::new_cargo_default()?; + let index_url = tame_index::IndexUrl::crates_io( + // This is the config root, where .cargo/config.toml configuration files + // are crawled to determine if crates.io has been source replaced + // + // if not specified it defaults to the current working directory, + // which is the same default that cargo uses, though note this can be + // extremely confusing if one can specify the manifest path of the + // crate from a different current working directory, though AFAICT + // this is not how this binary works + None, + // If set this overrides the CARGO_HOME that is used for both finding + // the "global" default config if not overriden during directory + // traversal to the root, as well as where the various registry + // indices/git sources are rooted. This is generally only useful + // for testing + None, + // If set, overrides the version of the cargo binary used, this is used + // as a fallback to determine if the version is 1.70.0+, which means + // the default crates.io registry to use is the sparse registry, else + // it is the old git registry + None, + ) + .context("failed to obtain crates.io url")?; - config.shell_status("Updating", "index")?; - while need_retry(index.update())? { - config.shell_status("Blocking", "waiting for lock on registry index")?; - std::thread::sleep(REGISTRY_BACKOFF); - } + use tame_index::index::{self, ComboIndexCache}; + + let index_cache = ComboIndexCache::new(tame_index::IndexLocation::new(index_url)) + .context("failed to open crates.io index cache")?; + + let index: index::ComboIndex = match index_cache { + ComboIndexCache::Git(git) => { + let mut rgi = index::RemoteGitIndex::new(git) + .context("failed to open crates.io git index")?; + + config.shell_status("Updating", "index")?; + while need_retry(rgi.fetch())? { + config.shell_status("Blocking", "waiting for lock on registry index")?; + std::thread::sleep(REGISTRY_BACKOFF); + } + + rgi.into() + } + ComboIndexCache::Sparse(sparse) => { + let client = tame_index::external::reqwest::blocking::Client::builder() + .http2_prior_knowledge() + .build() + .context("failed to build HTTP client")?; + index::RemoteSparseIndex::new(sparse, client).into() + } + }; Ok(Self { target_root: target_root.to_owned(), @@ -618,21 +664,17 @@ impl RustdocFromRegistry { } fn choose_baseline_version( - crate_: &Crate, + crate_: &IndexKrate, version_current: Option<&semver::Version>, -) -> anyhow::Result { +) -> anyhow::Result { // Try to avoid pre-releases // - Breaking changes are allowed between them // - Most likely the user cares about the last official release if let Some(current) = version_current { let mut instances = crate_ - .versions() + .versions .iter() - .filter_map(|i| { - semver::Version::parse(i.version()) - .map(|v| (v, i.is_yanked())) - .ok() - }) + .map(|iv| (iv.version.clone(), iv.is_yanked())) // For unpublished changes when the user doesn't increment the version // post-release, allow using the current version as a baseline. .filter(|(v, _)| v <= current) @@ -643,7 +685,7 @@ fn choose_baseline_version( .rev() .find(|(v, yanked)| v.pre.is_empty() && !yanked) .or_else(|| instances.last()) - .map(|(v, _)| v.to_string()) + .map(|(v, _)| v.clone()) .with_context(|| { anyhow::format_err!( "No available baseline versions for {}@{}", @@ -660,8 +702,9 @@ fn choose_baseline_version( // error, as there is still a chance that it is what the user expects. crate_.highest_version() }) - .version(); - Ok(instance.to_owned()) + .version + .clone(); + Ok(instance) } } @@ -672,7 +715,11 @@ impl RustdocGenerator for RustdocFromRegistry { rustdoc_cmd: &RustdocCommand, crate_data: CrateDataForRustdoc, ) -> anyhow::Result { - let crate_ = self.index.crate_(crate_data.name).with_context(|| { + let crate_ = self.index.krate(crate_data.name.try_into().expect("this should be impossible"), false) + .with_context(|| { + format!("failed to read index metadata for crate '{}'", crate_data.name) + })? + .with_context(|| { anyhow::format_err!( "{} not found in registry (crates.io). \ For workarounds check \ @@ -681,8 +728,8 @@ impl RustdocGenerator for RustdocFromRegistry { ) })?; - let base_version = if let Some(base) = self.version.as_ref() { - base.to_string() + let base_version = if let Some(base) = &self.version { + base.clone() } else { choose_baseline_version( &crate_, @@ -696,9 +743,9 @@ impl RustdocGenerator for RustdocFromRegistry { }; let crate_ = crate_ - .versions() + .versions .iter() - .find(|v| v.version() == base_version) + .find(|v| v.version == base_version) .with_context(|| { anyhow::format_err!( "Version {} of crate {} not found in registry", @@ -711,7 +758,10 @@ impl RustdocGenerator for RustdocFromRegistry { config, rustdoc_cmd, self.target_root.clone(), - CrateSource::Registry { crate_ }, + CrateSource::Registry { + version: crate_.version.to_string(), + crate_, + }, crate_data, ) } @@ -720,14 +770,14 @@ impl RustdocGenerator for RustdocFromRegistry { const REGISTRY_BACKOFF: std::time::Duration = std::time::Duration::from_secs(1); /// Check if we need to retry retrieving the Index. -fn need_retry(res: Result<(), crates_index::Error>) -> anyhow::Result { +fn need_retry(res: Result<(), tame_index::Error>) -> anyhow::Result { match res { Ok(()) => Ok(false), - Err(crates_index::Error::Git(err)) => { - if err.class() == git2::ErrorClass::Index && err.code() == git2::ErrorCode::Locked { + Err(tame_index::Error::Git(err)) => { + if err.is_spurious() || err.is_locked() { Ok(true) } else { - Err(crates_index::Error::Git(err).into()) + Err(tame_index::Error::Git(err).into()) } } Err(err) => Err(err.into()), @@ -736,29 +786,14 @@ fn need_retry(res: Result<(), crates_index::Error>) -> anyhow::Result { #[cfg(test)] mod tests { - use crates_index::{Crate, Version}; + use tame_index::{IndexKrate, IndexVersion}; use super::choose_baseline_version; - fn new_mock_version(version_name: &str, yanked: bool) -> Version { - // `crates_index::Version` cannot be created explicitly, as all its fields - // are private, so we use the fact that it can be deserialized. - serde_json::from_value(serde_json::json!({ - "name": "test-crate", - "vers": version_name, - "deps": [], - "features": {}, - "yanked": yanked, - "cksum": "00".repeat(32), - })) - .expect("hand-written JSON used to create mock crates_index::Version should be valid") - } - - fn new_crate(versions: Vec) -> Crate { - // `crates_index::Crate` cannot be created explicitly, as its field - // is private, so we use the fact that it can be deserialized. - serde_json::from_value(serde_json::json!({ "versions": versions })) - .expect("hand-written JSON used to create mock crates_index::Crate should be valid") + fn new_mock_version(version: semver::Version, yanked: bool) -> IndexVersion { + let mut iv = IndexVersion::fake("test-crate", version); + iv.yanked = yanked; + iv } fn assert_correctly_picks_baseline_version( @@ -766,19 +801,19 @@ mod tests { current_version_name: Option<&str>, expected: &str, ) { - let crate_ = new_crate( - versions + let crate_ = IndexKrate { + versions: versions .into_iter() - .map(|(version, yanked)| new_mock_version(version, yanked)) + .map(|(version, yanked)| new_mock_version(version.parse().unwrap(), yanked)) .collect(), - ); + }; let current_version = current_version_name.map(|version_name| { semver::Version::parse(version_name) .expect("current_version_name used in assertion should encode a valid version") }); let chosen_baseline = choose_baseline_version(&crate_, current_version.as_ref()) .expect("choose_baseline_version should not return any error in the test case"); - assert_eq!(chosen_baseline, expected.to_owned()); + assert_eq!(chosen_baseline, expected.parse().unwrap()); } #[test] From 66b2282a4d2ce1ecee7aa28756e427491d92a88a Mon Sep 17 00:00:00 2001 From: Jake Shadle Date: Wed, 26 Jul 2023 14:41:40 +0200 Subject: [PATCH 2/9] Update tame-index --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 960d3095..9f1bac13 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2844,9 +2844,9 @@ dependencies = [ [[package]] name = "tame-index" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "289df16aad0de3f74ae28bbeb1794dd6d4b4ae4f33c9272a762c0cc49b5a9956" +checksum = "ca9ab6523cab9bd62fdd61a8ab892bcff2fabc91c1f079bc282c291e9f2d2b0e" dependencies = [ "camino", "gix", From 0712b7ed8769458068d7aba59dadc0b0b64bf1e2 Mon Sep 17 00:00:00 2001 From: Jake Shadle Date: Wed, 26 Jul 2023 17:57:00 +0200 Subject: [PATCH 3/9] Use tame-index patch to validate CI --- Cargo.lock | 3 +-- Cargo.toml | 3 +++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9f1bac13..4bfb5492 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2845,8 +2845,7 @@ dependencies = [ [[package]] name = "tame-index" version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca9ab6523cab9bd62fdd61a8ab892bcff2fabc91c1f079bc282c291e9f2d2b0e" +source = "git+https://github.com/EmbarkStudios/tame-index?branch=fix-git-fetch#f04375ee41d0ad02b3ed411a1ceda707496913cd" dependencies = [ "camino", "gix", diff --git a/Cargo.toml b/Cargo.toml index d9945ed4..7f035c9d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -62,3 +62,6 @@ opt-level = 3 debug-assertions = true overflow-checks = true codegen-units = 16 + +[patch.crates-io] +tame-index = { git = "https://github.com/EmbarkStudios/tame-index", branch = "fix-git-fetch" } From 672ac597a5aed2c70fcc76f1c3a47fc55700dc43 Mon Sep 17 00:00:00 2001 From: Jake Shadle Date: Wed, 26 Jul 2023 18:06:05 +0200 Subject: [PATCH 4/9] Update tame-index --- Cargo.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index 4bfb5492..c7db2942 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2845,7 +2845,7 @@ dependencies = [ [[package]] name = "tame-index" version = "0.2.2" -source = "git+https://github.com/EmbarkStudios/tame-index?branch=fix-git-fetch#f04375ee41d0ad02b3ed411a1ceda707496913cd" +source = "git+https://github.com/EmbarkStudios/tame-index?branch=fix-git-fetch#f3d2058789e315937bbfa38b4e989d5b0965a1e3" dependencies = [ "camino", "gix", From e41c86d504cefbd878278388ae83a93a2ed79424 Mon Sep 17 00:00:00 2001 From: Jake Shadle Date: Wed, 26 Jul 2023 18:22:42 +0200 Subject: [PATCH 5/9] Crosses fingers --- Cargo.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index c7db2942..a051070b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2845,7 +2845,7 @@ dependencies = [ [[package]] name = "tame-index" version = "0.2.2" -source = "git+https://github.com/EmbarkStudios/tame-index?branch=fix-git-fetch#f3d2058789e315937bbfa38b4e989d5b0965a1e3" +source = "git+https://github.com/EmbarkStudios/tame-index?branch=fix-git-fetch#cd29c6dcfc80bff65d2efe2109d821200071b53f" dependencies = [ "camino", "gix", From 39b63e206c58afdd4a07fac035e21ba7ee83a461 Mon Sep 17 00:00:00 2001 From: Jake Shadle Date: Wed, 26 Jul 2023 18:55:37 +0200 Subject: [PATCH 6/9] Update to published version --- Cargo.lock | 5 +++-- Cargo.toml | 3 --- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a051070b..4563efea 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2844,8 +2844,9 @@ dependencies = [ [[package]] name = "tame-index" -version = "0.2.2" -source = "git+https://github.com/EmbarkStudios/tame-index?branch=fix-git-fetch#cd29c6dcfc80bff65d2efe2109d821200071b53f" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c96432f6f2bbdea54399f8149a2e82c4529e5d529ff214b891fbae2b34f590e" dependencies = [ "camino", "gix", diff --git a/Cargo.toml b/Cargo.toml index 7f035c9d..d9945ed4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -62,6 +62,3 @@ opt-level = 3 debug-assertions = true overflow-checks = true codegen-units = 16 - -[patch.crates-io] -tame-index = { git = "https://github.com/EmbarkStudios/tame-index", branch = "fix-git-fetch" } From 4fe54915e57f8325e1eed787e854830e0204fb65 Mon Sep 17 00:00:00 2001 From: Jake Shadle Date: Fri, 28 Jul 2023 13:11:30 +0200 Subject: [PATCH 7/9] Working patch --- Cargo.lock | 3 +-- Cargo.toml | 3 +++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4563efea..92c19358 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2845,8 +2845,7 @@ dependencies = [ [[package]] name = "tame-index" version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c96432f6f2bbdea54399f8149a2e82c4529e5d529ff214b891fbae2b34f590e" +source = "git+https://github.com/EmbarkStudios/tame-index?branch=fix-committer#f7de2f6ccb4663bc1b4adcdfdf528795d164ee4f" dependencies = [ "camino", "gix", diff --git a/Cargo.toml b/Cargo.toml index d9945ed4..c2faad64 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -62,3 +62,6 @@ opt-level = 3 debug-assertions = true overflow-checks = true codegen-units = 16 + +[patch.crates-io] +tame-index = { git = "https://github.com/EmbarkStudios/tame-index", branch = "fix-committer" } From 480dea20e9bb111061822a7bc9c12d33691326bf Mon Sep 17 00:00:00 2001 From: Jake Shadle Date: Fri, 28 Jul 2023 13:51:05 +0200 Subject: [PATCH 8/9] Update to published version --- Cargo.lock | 5 +++-- Cargo.toml | 3 --- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 92c19358..675a6ef4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2844,8 +2844,9 @@ dependencies = [ [[package]] name = "tame-index" -version = "0.2.3" -source = "git+https://github.com/EmbarkStudios/tame-index?branch=fix-committer#f7de2f6ccb4663bc1b4adcdfdf528795d164ee4f" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb763cdef142072fdad51f24c90e15f036a5d9842bf856f6b38ca2e8a693bed5" dependencies = [ "camino", "gix", diff --git a/Cargo.toml b/Cargo.toml index c2faad64..d9945ed4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -62,6 +62,3 @@ opt-level = 3 debug-assertions = true overflow-checks = true codegen-units = 16 - -[patch.crates-io] -tame-index = { git = "https://github.com/EmbarkStudios/tame-index", branch = "fix-committer" } From d73a8b6919eeb602d0e6e58998cc3e8f3bafb8cb Mon Sep 17 00:00:00 2001 From: Jake Shadle Date: Fri, 28 Jul 2023 17:04:21 +0200 Subject: [PATCH 9/9] Run `on-ref-slice-fork` with both git and sparse index --- .github/workflows/ci.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 09a2c7a3..dd8ee760 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1250,6 +1250,9 @@ jobs: # - cargo-semver-checks detects the semver break we've manufactured. name: 'Semver: ref-slice fork' runs-on: ubuntu-latest + strategy: + matrix: + protocol: ["git", "sparse"] needs: - build-binary steps: @@ -1294,6 +1297,8 @@ jobs: - name: Run semver-checks continue-on-error: true + env: + CARGO_REGISTRIES_CRATES_IO_PROTOCOL: ${{ matrix.protocol }} run: | cd semver set -euo pipefail @@ -1342,6 +1347,9 @@ jobs: # (see https://github.com/frewsxcv/rust-crates-index/issues/97). name: 'Semver: ref-slice fork (Windows)' runs-on: windows-latest + strategy: + matrix: + protocol: ["git", "sparse"] needs: - build-binary-windows steps: @@ -1387,6 +1395,8 @@ jobs: - name: Run cargo-semver-checks continue-on-error: true id: semver_checks + env: + CARGO_REGISTRIES_CRATES_IO_PROTOCOL: ${{ matrix.protocol }} run: | cd semver ..\bins\cargo-semver-checks.exe semver-checks check-release --manifest-path="..\subject\Cargo.toml" 2>&1 | tee output