From acf31d4bcd45cc24412e0171f8d7ce889cbe0794 Mon Sep 17 00:00:00 2001 From: Arthur Beck Date: Fri, 27 Dec 2024 13:08:53 -0600 Subject: [PATCH] Changed a bunch of things, including removing the local copy of cargo-local-registry, and made it build successfully for crates.io --- .gitignore | 2 +- Cargo.lock | 4602 +++++++++++++++++ Cargo.toml | 7 +- local-registry/SOURCE | 3 - .../.cargo_vcs_info.json | 6 - .../cargo-local-registry-0.2.7/.gitignore | 1 - .../cargo-local-registry-0.2.7/.travis.yml | 52 - .../cargo-local-registry-0.2.7/Cargo.toml | 78 - .../Cargo.toml.orig | 32 - .../cargo-local-registry-0.2.7/LICENSE-APACHE | 201 - .../cargo-local-registry-0.2.7/LICENSE-MIT | 25 - .../cargo-local-registry-0.2.7/README.md | 82 - .../cargo-local-registry-0.2.7/appveyor.yml | 46 - .../cargo-local-registry-0.2.7/src/main.rs | 365 -- .../cargo-local-registry-0.2.7/tests/all.rs | 512 -- local-registry/cargo-local-registry.crate | Bin 36188 -> 0 bytes src/main.rs | 50 +- .../{Cargo.toml => template.Cargo.toml} | 0 18 files changed, 4638 insertions(+), 1426 deletions(-) create mode 100644 Cargo.lock delete mode 100644 local-registry/SOURCE delete mode 100644 local-registry/cargo-local-registry-0.2.7/.cargo_vcs_info.json delete mode 100644 local-registry/cargo-local-registry-0.2.7/.gitignore delete mode 100644 local-registry/cargo-local-registry-0.2.7/.travis.yml delete mode 100644 local-registry/cargo-local-registry-0.2.7/Cargo.toml delete mode 100644 local-registry/cargo-local-registry-0.2.7/Cargo.toml.orig delete mode 100644 local-registry/cargo-local-registry-0.2.7/LICENSE-APACHE delete mode 100644 local-registry/cargo-local-registry-0.2.7/LICENSE-MIT delete mode 100644 local-registry/cargo-local-registry-0.2.7/README.md delete mode 100644 local-registry/cargo-local-registry-0.2.7/appveyor.yml delete mode 100644 local-registry/cargo-local-registry-0.2.7/src/main.rs delete mode 100644 local-registry/cargo-local-registry-0.2.7/tests/all.rs delete mode 100644 local-registry/cargo-local-registry.crate rename src/template/{Cargo.toml => template.Cargo.toml} (100%) diff --git a/.gitignore b/.gitignore index 6933723..33be30b 100644 --- a/.gitignore +++ b/.gitignore @@ -5,7 +5,7 @@ target/ # Remove Cargo.lock from gitignore if creating an executable, leave it for libraries # More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html -Cargo.lock +# Cargo.lock # These are backup files generated by rustfmt **/*.rs.bk diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..cc41e14 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,4602 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "addr2line" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" + +[[package]] +name = "ahash" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +dependencies = [ + "cfg-if", + "once_cell", + "version_check", + "zerocopy", +] + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "allocator-api2" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "annotate-snippets" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "710e8eae58854cdc1790fcb56cca04d712a17be849eeb81da2a724bf4bae2bc4" +dependencies = [ + "anstyle", + "unicode-width 0.2.0", +] + +[[package]] +name = "anstream" +version = "0.6.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" + +[[package]] +name = "anstyle-parse" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" +dependencies = [ + "anstyle", + "windows-sys 0.59.0", +] + +[[package]] +name = "anyhow" +version = "1.0.94" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1fd03a028ef38ba2276dce7e33fcd6369c158a1bca17946c4b1b701891c1ff7" + +[[package]] +name = "arc-swap" +version = "1.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "autocfg" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" + +[[package]] +name = "backtrace" +version = "0.3.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +dependencies = [ + "addr2line", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", + "windows-targets 0.52.6", +] + +[[package]] +name = "base16ct" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "base64ct" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" + +[[package]] +name = "bit-set" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" + +[[package]] +name = "bitflags" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" + +[[package]] +name = "bitmaps" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2" +dependencies = [ + "typenum", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "bstr" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "786a307d683a5bf92e6fd5fd69a7eb613751668d1d8d67d802846dfe367c62c8" +dependencies = [ + "memchr", + "regex-automata 0.4.9", + "serde", +] + +[[package]] +name = "bumpalo" +version = "3.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" + +[[package]] +name = "bytesize" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e368af43e418a04d52505cf3dbc23dda4e3407ae2fa99fd0e4f308ce546acc" + +[[package]] +name = "cargo" +version = "0.81.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f24c9dcadcdad2f6fa2553b63d5e9c9700fa6932b75d53f3b11b8aea35ebab99" +dependencies = [ + "annotate-snippets", + "anstream", + "anstyle", + "anyhow", + "base64", + "bytesize", + "cargo-credential", + "cargo-credential-libsecret", + "cargo-credential-macos-keychain", + "cargo-credential-wincred", + "cargo-platform", + "cargo-util", + "cargo-util-schemas", + "clap", + "color-print", + "crates-io", + "curl", + "curl-sys", + "filetime", + "flate2", + "git2", + "git2-curl", + "gix", + "glob", + "hex", + "hmac", + "home", + "http-auth", + "humantime", + "ignore", + "im-rc", + "indexmap", + "itertools", + "jobserver", + "lazycell", + "libc", + "libgit2-sys", + "memchr", + "opener", + "os_info", + "pasetors", + "pathdiff", + "rand", + "regex", + "rusqlite", + "rustfix", + "same-file", + "semver", + "serde", + "serde-untagged", + "serde_ignored", + "serde_json", + "sha1", + "shell-escape", + "supports-hyperlinks", + "supports-unicode", + "tar", + "tempfile", + "time", + "toml", + "toml_edit", + "tracing", + "tracing-chrome", + "tracing-subscriber", + "unicase", + "unicode-width 0.1.14", + "url", + "walkdir", + "windows-sys 0.52.0", +] + +[[package]] +name = "cargo-credential" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8951a7e8159904939f036c967e24b60636efd6a6f22379af6b32afc6b867a2b8" +dependencies = [ + "anyhow", + "libc", + "serde", + "serde_json", + "thiserror 1.0.69", + "time", + "windows-sys 0.59.0", +] + +[[package]] +name = "cargo-credential-libsecret" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9327125ccc2cf986f111a3342fe0a431702017a85f1b68831ebbf4331519d27d" +dependencies = [ + "anyhow", + "cargo-credential", + "libloading", +] + +[[package]] +name = "cargo-credential-macos-keychain" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d331053cb9e1d39bcbb2bf3b9979bad399e6f630f54c29fd64396a57887fb281" +dependencies = [ + "cargo-credential", + "security-framework", +] + +[[package]] +name = "cargo-credential-wincred" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97741d5bcaf92bc5cfa9678dd4bfb2a32d5109626ce8186fbcc6a3ea811eacaa" +dependencies = [ + "cargo-credential", + "windows-sys 0.59.0", +] + +[[package]] +name = "cargo-local-registry" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "444d99b6346d7c8a8deee96fd7d035fb7004c19f5c705278f38439495d27a77b" +dependencies = [ + "anyhow", + "cargo", + "cargo-platform", + "docopt", + "env_logger", + "flate2", + "serde", + "serde_json", + "tar", + "url", +] + +[[package]] +name = "cargo-platform" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo-util" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b15bbe49616ee353fadadf6de5a24136f3fe8fdbd5eb0894be9f8a42c905674" +dependencies = [ + "anyhow", + "core-foundation 0.10.0", + "filetime", + "hex", + "ignore", + "jobserver", + "libc", + "miow", + "same-file", + "sha2", + "shell-escape", + "tempfile", + "tracing", + "walkdir", + "windows-sys 0.59.0", +] + +[[package]] +name = "cargo-util-schemas" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34ddc7fc157e3dbbd88f05ef8be7c3ed3ecb05925a3f51f716d6103a607fb7c4" +dependencies = [ + "semver", + "serde", + "serde-untagged", + "serde-value", + "thiserror 1.0.69", + "toml", + "unicode-xid", + "url", +] + +[[package]] +name = "cc" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27f657647bcff5394bf56c7317665bbf790a137a50eaaa5c6bfbb9e27a518f2d" +dependencies = [ + "jobserver", + "libc", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chrono" +version = "0.4.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "js-sys", + "num-traits", + "wasm-bindgen", + "windows-targets 0.52.6", +] + +[[package]] +name = "clap" +version = "4.5.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3135e7ec2ef7b10c6ed8950f0f792ed96ee093fa088608f1c76e569722700c84" +dependencies = [ + "clap_builder", + "clap_derive", +] + +[[package]] +name = "clap_builder" +version = "4.5.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30582fc632330df2bd26877bde0c1f4470d57c582bbc070376afcd04d8cb4838" +dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim 0.11.1", + "terminal_size", +] + +[[package]] +name = "clap_complete" +version = "4.5.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9647a559c112175f17cf724dc72d3645680a883c58481332779192b0d8e7a01" +dependencies = [ + "clap", +] + +[[package]] +name = "clap_derive" +version = "4.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "clap_lex" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" + +[[package]] +name = "clap_mangen" +version = "0.2.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbae9cbfdc5d4fa8711c09bd7b83f644cb48281ac35bf97af3e47b0675864bdf" +dependencies = [ + "clap", + "roff", +] + +[[package]] +name = "clru" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbd0f76e066e64fdc5631e3bb46381254deab9ef1158292f27c8c57e3bf3fe59" + +[[package]] +name = "color-print" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3aa954171903797d5623e047d9ab69d91b493657917bdfb8c2c80ecaf9cdb6f4" +dependencies = [ + "color-print-proc-macro", +] + +[[package]] +name = "color-print-proc-macro" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "692186b5ebe54007e45a59aea47ece9eb4108e141326c304cdc91699a7118a22" +dependencies = [ + "nom", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "colorchoice" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" + +[[package]] +name = "console" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" +dependencies = [ + "encode_unicode", + "lazy_static", + "libc", + "unicode-width 0.1.14", + "windows-sys 0.52.0", +] + +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "cpufeatures" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" +dependencies = [ + "libc", +] + +[[package]] +name = "crates-io" +version = "0.40.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6cee4e56fd9f9c23d0654bdcf8c6ad1943b66743b34baeb852fe5318d255c8d0" +dependencies = [ + "curl", + "percent-encoding", + "serde", + "serde_json", + "thiserror 1.0.69", + "url", +] + +[[package]] +name = "crc32fast" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" + +[[package]] +name = "crypto-bigint" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +dependencies = [ + "generic-array", + "rand_core", + "subtle", + "zeroize", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "ct-codecs" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b916ba8ce9e4182696896f015e8a5ae6081b305f74690baa8465e35f5a142ea4" + +[[package]] +name = "curl" +version = "0.4.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9fb4d13a1be2b58f14d60adba57c9834b78c62fd86c3e76a148f732686e9265" +dependencies = [ + "curl-sys", + "libc", + "openssl-probe", + "openssl-sys", + "schannel", + "socket2", + "windows-sys 0.52.0", +] + +[[package]] +name = "curl-sys" +version = "0.4.78+curl-8.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eec768341c5c7789611ae51cf6c459099f22e64a5d5d0ce4892434e33821eaf" +dependencies = [ + "cc", + "libc", + "libnghttp2-sys", + "libz-sys", + "openssl-sys", + "pkg-config", + "vcpkg", + "windows-sys 0.52.0", +] + +[[package]] +name = "dbus" +version = "0.9.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bb21987b9fb1613058ba3843121dd18b163b254d8a6e797e144cbac14d96d1b" +dependencies = [ + "libc", + "libdbus-sys", + "winapi", +] + +[[package]] +name = "der" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +dependencies = [ + "const-oid", + "pem-rfc7468", + "zeroize", +] + +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", + "serde", +] + +[[package]] +name = "dialoguer" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "658bce805d770f407bc62102fca7c2c64ceef2fbcb2b8bd19d2765ce093980de" +dependencies = [ + "console", + "shell-words", + "tempfile", + "thiserror 1.0.69", + "zeroize", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "const-oid", + "crypto-common", + "subtle", +] + +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "docopt" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f3f119846c823f9eafcf953a8f6ffb6ed69bf6240883261a7f13b634579a51f" +dependencies = [ + "lazy_static", + "regex", + "serde", + "strsim 0.10.0", +] + +[[package]] +name = "dunce" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" + +[[package]] +name = "ecdsa" +version = "0.16.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +dependencies = [ + "der", + "digest", + "elliptic-curve", + "rfc6979", + "signature", + "spki", +] + +[[package]] +name = "ed25519-compact" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9b3460f44bea8cd47f45a0c70892f1eff856d97cd55358b2f73f663789f6190" +dependencies = [ + "getrandom", +] + +[[package]] +name = "either" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" + +[[package]] +name = "elliptic-curve" +version = "0.13.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +dependencies = [ + "base16ct", + "crypto-bigint", + "digest", + "ff", + "generic-array", + "group", + "hkdf", + "pem-rfc7468", + "pkcs8", + "rand_core", + "sec1", + "subtle", + "zeroize", +] + +[[package]] +name = "encode_unicode" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" + +[[package]] +name = "encoding_rs" +version = "0.8.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "env_filter" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f2c92ceda6ceec50f43169f9ee8424fe2db276791afde7b2cd8bc084cb376ab" +dependencies = [ + "log", + "regex", +] + +[[package]] +name = "env_logger" +version = "0.11.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcaee3d8e3cfc3fd92428d477bc97fc29ec8716d180c0d74c643bb26166660e0" +dependencies = [ + "anstream", + "anstyle", + "env_filter", + "humantime", + "log", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "erased-serde" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24e2389d65ab4fab27dc2a5de7b191e1f6617d1f1c8855c0dc569c94a4cbb18d" +dependencies = [ + "serde", + "typeid", +] + +[[package]] +name = "errno" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" +dependencies = [ + "libc", + "windows-sys 0.59.0", +] + +[[package]] +name = "fallible-iterator" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" + +[[package]] +name = "fallible-streaming-iterator" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" + +[[package]] +name = "faster-hex" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2a2b11eda1d40935b26cf18f6833c526845ae8c41e58d09af6adeb6f0269183" + +[[package]] +name = "fastrand" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" + +[[package]] +name = "ff" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" +dependencies = [ + "rand_core", + "subtle", +] + +[[package]] +name = "fiat-crypto" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" + +[[package]] +name = "filebuffer" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c997bb4895e53c23e7ebdf8a315f0863206b19e51da2901cc24631eb0f26e209" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "filetime" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" +dependencies = [ + "cfg-if", + "libc", + "libredox", + "windows-sys 0.59.0", +] + +[[package]] +name = "flate2" +version = "1.0.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c" +dependencies = [ + "crc32fast", + "libz-sys", + "miniz_oxide", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futures-channel" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" + +[[package]] +name = "futures-io" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" + +[[package]] +name = "futures-sink" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" + +[[package]] +name = "futures-task" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" + +[[package]] +name = "futures-util" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +dependencies = [ + "futures-core", + "futures-io", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", + "zeroize", +] + +[[package]] +name = "getrandom" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "wasi", + "wasm-bindgen", +] + +[[package]] +name = "gimli" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" + +[[package]] +name = "git2" +version = "0.18.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "232e6a7bfe35766bf715e55a88b39a700596c0ccfd88cd3680b4cdb40d66ef70" +dependencies = [ + "bitflags", + "libc", + "libgit2-sys", + "log", + "openssl-probe", + "openssl-sys", + "url", +] + +[[package]] +name = "git2-curl" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78e26b61608c573ffd26fc79061a823aa5147449a1afe1f61679a21e2031f7c3" +dependencies = [ + "curl", + "git2", + "log", + "url", +] + +[[package]] +name = "gix" +version = "0.63.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "984c5018adfa7a4536ade67990b3ebc6e11ab57b3d6cd9968de0947ca99b4b06" +dependencies = [ + "gix-actor", + "gix-attributes", + "gix-command", + "gix-commitgraph", + "gix-config", + "gix-credentials", + "gix-date 0.8.7", + "gix-diff", + "gix-dir", + "gix-discover", + "gix-features", + "gix-filter", + "gix-fs", + "gix-glob", + "gix-hash", + "gix-hashtable", + "gix-ignore", + "gix-index", + "gix-lock", + "gix-macros", + "gix-negotiate", + "gix-object", + "gix-odb", + "gix-pack", + "gix-path", + "gix-pathspec", + "gix-prompt", + "gix-protocol", + "gix-ref", + "gix-refspec", + "gix-revision", + "gix-revwalk", + "gix-sec", + "gix-submodule", + "gix-tempfile", + "gix-trace", + "gix-transport", + "gix-traverse", + "gix-url", + "gix-utils", + "gix-validate", + "gix-worktree", + "once_cell", + "parking_lot", + "prodash", + "smallvec", + "thiserror 1.0.69", +] + +[[package]] +name = "gix-actor" +version = "0.31.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0e454357e34b833cc3a00b6efbbd3dd4d18b24b9fb0c023876ec2645e8aa3f2" +dependencies = [ + "bstr", + "gix-date 0.8.7", + "gix-utils", + "itoa", + "thiserror 1.0.69", + "winnow", +] + +[[package]] +name = "gix-attributes" +version = "0.22.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebccbf25aa4a973dd352564a9000af69edca90623e8a16dad9cbc03713131311" +dependencies = [ + "bstr", + "gix-glob", + "gix-path", + "gix-quote", + "gix-trace", + "kstring", + "smallvec", + "thiserror 1.0.69", + "unicode-bom", +] + +[[package]] +name = "gix-bitmap" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d48b897b4bbc881aea994b4a5bbb340a04979d7be9089791304e04a9fbc66b53" +dependencies = [ + "thiserror 2.0.7", +] + +[[package]] +name = "gix-chunk" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6ffbeb3a5c0b8b84c3fe4133a6f8c82fa962f4caefe8d0762eced025d3eb4f7" +dependencies = [ + "thiserror 2.0.7", +] + +[[package]] +name = "gix-command" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d7d6b8f3a64453fd7e8191eb80b351eb7ac0839b40a1237cd2c137d5079fe53" +dependencies = [ + "bstr", + "gix-path", + "gix-trace", + "shell-words", +] + +[[package]] +name = "gix-commitgraph" +version = "0.24.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "133b06f67f565836ec0c473e2116a60fb74f80b6435e21d88013ac0e3c60fc78" +dependencies = [ + "bstr", + "gix-chunk", + "gix-features", + "gix-hash", + "memmap2", + "thiserror 1.0.69", +] + +[[package]] +name = "gix-config" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53fafe42957e11d98e354a66b6bd70aeea00faf2f62dd11164188224a507c840" +dependencies = [ + "bstr", + "gix-config-value", + "gix-features", + "gix-glob", + "gix-path", + "gix-ref", + "gix-sec", + "memchr", + "once_cell", + "smallvec", + "thiserror 1.0.69", + "unicode-bom", + "winnow", +] + +[[package]] +name = "gix-config-value" +version = "0.14.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49aaeef5d98390a3bcf9dbc6440b520b793d1bf3ed99317dc407b02be995b28e" +dependencies = [ + "bitflags", + "bstr", + "gix-path", + "libc", + "thiserror 2.0.7", +] + +[[package]] +name = "gix-credentials" +version = "0.24.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce391d305968782f1ae301c4a3d42c5701df7ff1d8bc03740300f6fd12bce78" +dependencies = [ + "bstr", + "gix-command", + "gix-config-value", + "gix-path", + "gix-prompt", + "gix-sec", + "gix-trace", + "gix-url", + "thiserror 1.0.69", +] + +[[package]] +name = "gix-date" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9eed6931f21491ee0aeb922751bd7ec97b4b2fe8fbfedcb678e2a2dce5f3b8c0" +dependencies = [ + "bstr", + "itoa", + "thiserror 1.0.69", + "time", +] + +[[package]] +name = "gix-date" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "691142b1a34d18e8ed6e6114bc1a2736516c5ad60ef3aa9bd1b694886e3ca92d" +dependencies = [ + "bstr", + "itoa", + "jiff", + "thiserror 2.0.7", +] + +[[package]] +name = "gix-diff" +version = "0.44.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1996d5c8a305b59709467d80617c9fde48d9d75fd1f4179ea970912630886c9d" +dependencies = [ + "bstr", + "gix-hash", + "gix-object", + "thiserror 1.0.69", +] + +[[package]] +name = "gix-dir" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60c99f8c545abd63abe541d20ab6cda347de406c0a3f1c80aadc12d9b0e94974" +dependencies = [ + "bstr", + "gix-discover", + "gix-fs", + "gix-ignore", + "gix-index", + "gix-object", + "gix-path", + "gix-pathspec", + "gix-trace", + "gix-utils", + "gix-worktree", + "thiserror 1.0.69", +] + +[[package]] +name = "gix-discover" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc27c699b63da66b50d50c00668bc0b7e90c3a382ef302865e891559935f3dbf" +dependencies = [ + "bstr", + "dunce", + "gix-fs", + "gix-hash", + "gix-path", + "gix-ref", + "gix-sec", + "thiserror 1.0.69", +] + +[[package]] +name = "gix-features" +version = "0.38.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac7045ac9fe5f9c727f38799d002a7ed3583cd777e3322a7c4b43e3cf437dc69" +dependencies = [ + "bytes", + "crc32fast", + "crossbeam-channel", + "flate2", + "gix-hash", + "gix-trace", + "gix-utils", + "libc", + "once_cell", + "parking_lot", + "prodash", + "sha1_smol", + "thiserror 1.0.69", + "walkdir", +] + +[[package]] +name = "gix-filter" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6547738da28275f4dff4e9f3a0f28509f53f94dd6bd822733c91cb306bca61a" +dependencies = [ + "bstr", + "encoding_rs", + "gix-attributes", + "gix-command", + "gix-hash", + "gix-object", + "gix-packetline-blocking", + "gix-path", + "gix-quote", + "gix-trace", + "gix-utils", + "smallvec", + "thiserror 1.0.69", +] + +[[package]] +name = "gix-fs" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2bfe6249cfea6d0c0e0990d5226a4cb36f030444ba9e35e0639275db8f98575" +dependencies = [ + "fastrand", + "gix-features", + "gix-utils", +] + +[[package]] +name = "gix-glob" +version = "0.16.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74908b4bbc0a0a40852737e5d7889f676f081e340d5451a16e5b4c50d592f111" +dependencies = [ + "bitflags", + "bstr", + "gix-features", + "gix-path", +] + +[[package]] +name = "gix-hash" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93d7df7366121b5018f947a04d37f034717e113dcf9ccd85c34b58e57a74d5e" +dependencies = [ + "faster-hex", + "thiserror 1.0.69", +] + +[[package]] +name = "gix-hashtable" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ddf80e16f3c19ac06ce415a38b8591993d3f73aede049cb561becb5b3a8e242" +dependencies = [ + "gix-hash", + "hashbrown 0.14.5", + "parking_lot", +] + +[[package]] +name = "gix-ignore" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e447cd96598460f5906a0f6c75e950a39f98c2705fc755ad2f2020c9e937fab7" +dependencies = [ + "bstr", + "gix-glob", + "gix-path", + "gix-trace", + "unicode-bom", +] + +[[package]] +name = "gix-index" +version = "0.33.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a9a44eb55bd84bb48f8a44980e951968ced21e171b22d115d1cdcef82a7d73f" +dependencies = [ + "bitflags", + "bstr", + "filetime", + "fnv", + "gix-bitmap", + "gix-features", + "gix-fs", + "gix-hash", + "gix-lock", + "gix-object", + "gix-traverse", + "gix-utils", + "gix-validate", + "hashbrown 0.14.5", + "itoa", + "libc", + "memmap2", + "rustix", + "smallvec", + "thiserror 1.0.69", +] + +[[package]] +name = "gix-lock" +version = "14.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bc7fe297f1f4614774989c00ec8b1add59571dc9b024b4c00acb7dedd4e19d" +dependencies = [ + "gix-tempfile", + "gix-utils", + "thiserror 1.0.69", +] + +[[package]] +name = "gix-macros" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "999ce923619f88194171a67fb3e6d613653b8d4d6078b529b15a765da0edcc17" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "gix-negotiate" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ec879fb6307bb63519ba89be0024c6f61b4b9d61f1a91fd2ce572d89fe9c224" +dependencies = [ + "bitflags", + "gix-commitgraph", + "gix-date 0.8.7", + "gix-hash", + "gix-object", + "gix-revwalk", + "smallvec", + "thiserror 1.0.69", +] + +[[package]] +name = "gix-object" +version = "0.42.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25da2f46b4e7c2fa7b413ce4dffb87f69eaf89c2057e386491f4c55cadbfe386" +dependencies = [ + "bstr", + "gix-actor", + "gix-date 0.8.7", + "gix-features", + "gix-hash", + "gix-utils", + "gix-validate", + "itoa", + "smallvec", + "thiserror 1.0.69", + "winnow", +] + +[[package]] +name = "gix-odb" +version = "0.61.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20d384fe541d93d8a3bb7d5d5ef210780d6df4f50c4e684ccba32665a5e3bc9b" +dependencies = [ + "arc-swap", + "gix-date 0.8.7", + "gix-features", + "gix-fs", + "gix-hash", + "gix-object", + "gix-pack", + "gix-path", + "gix-quote", + "parking_lot", + "tempfile", + "thiserror 1.0.69", +] + +[[package]] +name = "gix-pack" +version = "0.51.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e0594491fffe55df94ba1c111a6566b7f56b3f8d2e1efc750e77d572f5f5229" +dependencies = [ + "clru", + "gix-chunk", + "gix-features", + "gix-hash", + "gix-hashtable", + "gix-object", + "gix-path", + "gix-tempfile", + "memmap2", + "parking_lot", + "smallvec", + "thiserror 1.0.69", +] + +[[package]] +name = "gix-packetline" +version = "0.17.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c43ef4d5fe2fa222c606731c8bdbf4481413ee4ef46d61340ec39e4df4c5e49" +dependencies = [ + "bstr", + "faster-hex", + "gix-trace", + "thiserror 1.0.69", +] + +[[package]] +name = "gix-packetline-blocking" +version = "0.17.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9802304baa798dd6f5ff8008a2b6516d54b74a69ca2d3a2b9e2d6c3b5556b40" +dependencies = [ + "bstr", + "faster-hex", + "gix-trace", + "thiserror 1.0.69", +] + +[[package]] +name = "gix-path" +version = "0.10.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afc292ef1a51e340aeb0e720800338c805975724c1dfbd243185452efd8645b7" +dependencies = [ + "bstr", + "gix-trace", + "home", + "once_cell", + "thiserror 2.0.7", +] + +[[package]] +name = "gix-pathspec" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d23bf239532b4414d0e63b8ab3a65481881f7237ed9647bb10c1e3cc54c5ceb" +dependencies = [ + "bitflags", + "bstr", + "gix-attributes", + "gix-config-value", + "gix-glob", + "gix-path", + "thiserror 1.0.69", +] + +[[package]] +name = "gix-prompt" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a7822afc4bc9c5fbbc6ce80b00f41c129306b7685cac3248dbfa14784960594" +dependencies = [ + "gix-command", + "gix-config-value", + "parking_lot", + "rustix", + "thiserror 2.0.7", +] + +[[package]] +name = "gix-protocol" +version = "0.45.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc43a1006f01b5efee22a003928c9eb83dde2f52779ded9d4c0732ad93164e3e" +dependencies = [ + "bstr", + "gix-credentials", + "gix-date 0.9.2", + "gix-features", + "gix-hash", + "gix-transport", + "gix-utils", + "maybe-async", + "thiserror 1.0.69", + "winnow", +] + +[[package]] +name = "gix-quote" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64a1e282216ec2ab2816cd57e6ed88f8009e634aec47562883c05ac8a7009a63" +dependencies = [ + "bstr", + "gix-utils", + "thiserror 2.0.7", +] + +[[package]] +name = "gix-ref" +version = "0.44.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3394a2997e5bc6b22ebc1e1a87b41eeefbcfcff3dbfa7c4bd73cb0ac8f1f3e2e" +dependencies = [ + "gix-actor", + "gix-date 0.8.7", + "gix-features", + "gix-fs", + "gix-hash", + "gix-lock", + "gix-object", + "gix-path", + "gix-tempfile", + "gix-utils", + "gix-validate", + "memmap2", + "thiserror 1.0.69", + "winnow", +] + +[[package]] +name = "gix-refspec" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6868f8cd2e62555d1f7c78b784bece43ace40dd2a462daf3b588d5416e603f37" +dependencies = [ + "bstr", + "gix-hash", + "gix-revision", + "gix-validate", + "smallvec", + "thiserror 1.0.69", +] + +[[package]] +name = "gix-revision" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01b13e43c2118c4b0537ddac7d0821ae0dfa90b7b8dbf20c711e153fb749adce" +dependencies = [ + "bstr", + "gix-date 0.8.7", + "gix-hash", + "gix-hashtable", + "gix-object", + "gix-revwalk", + "gix-trace", + "thiserror 1.0.69", +] + +[[package]] +name = "gix-revwalk" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b030ccaab71af141f537e0225f19b9e74f25fefdba0372246b844491cab43e0" +dependencies = [ + "gix-commitgraph", + "gix-date 0.8.7", + "gix-hash", + "gix-hashtable", + "gix-object", + "smallvec", + "thiserror 1.0.69", +] + +[[package]] +name = "gix-sec" +version = "0.10.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8b876ef997a955397809a2ec398d6a45b7a55b4918f2446344330f778d14fd6" +dependencies = [ + "bitflags", + "gix-path", + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "gix-submodule" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "921cd49924ac14b6611b22e5fb7bbba74d8780dc7ad26153304b64d1272460ac" +dependencies = [ + "bstr", + "gix-config", + "gix-path", + "gix-pathspec", + "gix-refspec", + "gix-url", + "thiserror 1.0.69", +] + +[[package]] +name = "gix-tempfile" +version = "14.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "046b4927969fa816a150a0cda2e62c80016fe11fb3c3184e4dddf4e542f108aa" +dependencies = [ + "gix-fs", + "libc", + "once_cell", + "parking_lot", + "tempfile", +] + +[[package]] +name = "gix-trace" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04bdde120c29f1fc23a24d3e115aeeea3d60d8e65bab92cc5f9d90d9302eb952" + +[[package]] +name = "gix-transport" +version = "0.42.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "421dcccab01b41a15d97b226ad97a8f9262295044e34fbd37b10e493b0a6481f" +dependencies = [ + "base64", + "bstr", + "curl", + "gix-command", + "gix-credentials", + "gix-features", + "gix-packetline", + "gix-quote", + "gix-sec", + "gix-url", + "thiserror 1.0.69", +] + +[[package]] +name = "gix-traverse" +version = "0.39.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e499a18c511e71cf4a20413b743b9f5bcf64b3d9e81e9c3c6cd399eae55a8840" +dependencies = [ + "bitflags", + "gix-commitgraph", + "gix-date 0.8.7", + "gix-hash", + "gix-hashtable", + "gix-object", + "gix-revwalk", + "smallvec", + "thiserror 1.0.69", +] + +[[package]] +name = "gix-url" +version = "0.27.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd280c5e84fb22e128ed2a053a0daeacb6379469be6a85e3d518a0636e160c89" +dependencies = [ + "bstr", + "gix-features", + "gix-path", + "home", + "thiserror 1.0.69", + "url", +] + +[[package]] +name = "gix-utils" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba427e3e9599508ed98a6ddf8ed05493db114564e338e41f6a996d2e4790335f" +dependencies = [ + "bstr", + "fastrand", + "unicode-normalization", +] + +[[package]] +name = "gix-validate" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82c27dd34a49b1addf193c92070bcbf3beaf6e10f16a78544de6372e146a0acf" +dependencies = [ + "bstr", + "thiserror 1.0.69", +] + +[[package]] +name = "gix-worktree" +version = "0.34.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26f7326ebe0b9172220694ea69d344c536009a9b98fb0f9de092c440f3efe7a6" +dependencies = [ + "bstr", + "gix-attributes", + "gix-features", + "gix-fs", + "gix-glob", + "gix-hash", + "gix-ignore", + "gix-index", + "gix-object", + "gix-path", + "gix-validate", +] + +[[package]] +name = "glob" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + +[[package]] +name = "globset" +version = "0.4.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15f1ce686646e7f1e19bf7d5533fe443a45dbfb990e00629110797578b42fb19" +dependencies = [ + "aho-corasick", + "bstr", + "log", + "regex-automata 0.4.9", + "regex-syntax 0.8.5", +] + +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff", + "rand_core", + "subtle", +] + +[[package]] +name = "h2" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +dependencies = [ + "ahash", + "allocator-api2", +] + +[[package]] +name = "hashbrown" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" + +[[package]] +name = "hashlink" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af" +dependencies = [ + "hashbrown 0.14.5", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hkdf" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" +dependencies = [ + "hmac", +] + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest", +] + +[[package]] +name = "home" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "http" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-auth" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "150fa4a9462ef926824cf4519c84ed652ca8f4fbae34cb8af045b5cbcaf98822" +dependencies = [ + "memchr", +] + +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +dependencies = [ + "bytes", + "futures-util", + "http", + "http-body", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" + +[[package]] +name = "humantime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" + +[[package]] +name = "hyper" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97818827ef4f364230e16705d4706e2897df2bb60617d6ca15d598025a3c481f" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.27.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" +dependencies = [ + "futures-util", + "http", + "hyper", + "hyper-util", + "rustls", + "rustls-pki-types", + "tokio", + "tokio-rustls", + "tower-service", +] + +[[package]] +name = "hyper-tls" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" +dependencies = [ + "bytes", + "http-body-util", + "hyper", + "hyper-util", + "native-tls", + "tokio", + "tokio-native-tls", + "tower-service", +] + +[[package]] +name = "hyper-util" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http", + "http-body", + "hyper", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "icu_collections" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "idna" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "ignore" +version = "0.4.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d89fd380afde86567dfba715db065673989d6253f42b88179abd3eae47bda4b" +dependencies = [ + "crossbeam-deque", + "globset", + "log", + "memchr", + "regex-automata 0.4.9", + "same-file", + "walkdir", + "winapi-util", +] + +[[package]] +name = "im-rc" +version = "15.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af1955a75fa080c677d3972822ec4bad316169ab1cfc6c257a942c2265dbe5fe" +dependencies = [ + "bitmaps", + "rand_core", + "rand_xoshiro", + "sized-chunks", + "typenum", + "version_check", +] + +[[package]] +name = "indexmap" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" +dependencies = [ + "equivalent", + "hashbrown 0.15.2", +] + +[[package]] +name = "ipnet" +version = "2.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" + +[[package]] +name = "is_terminal_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" + +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" + +[[package]] +name = "jiff" +version = "0.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db69f08d4fb10524cacdb074c10b296299d71274ddbc830a8ee65666867002e9" +dependencies = [ + "jiff-tzdb-platform", + "windows-sys 0.59.0", +] + +[[package]] +name = "jiff-tzdb" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91335e575850c5c4c673b9bd467b0e025f164ca59d0564f69d0c2ee0ffad4653" + +[[package]] +name = "jiff-tzdb-platform" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9835f0060a626fe59f160437bc725491a6af23133ea906500027d1bd2f8f4329" +dependencies = [ + "jiff-tzdb", +] + +[[package]] +name = "jobserver" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" +dependencies = [ + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.76" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7" +dependencies = [ + "once_cell", + "wasm-bindgen", +] + +[[package]] +name = "kstring" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "558bf9508a558512042d3095138b1f7b8fe90c5467d94f9f1da28b3731c5dbd1" +dependencies = [ + "static_assertions", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" + +[[package]] +name = "lazycell" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" + +[[package]] +name = "libc" +version = "0.2.168" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aaeb2981e0606ca11d79718f8bb01164f1d6ed75080182d3abf017e6d244b6d" + +[[package]] +name = "libdbus-sys" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06085512b750d640299b79be4bad3d2fa90a9c00b1fd9e1b46364f66f0485c72" +dependencies = [ + "cc", + "pkg-config", +] + +[[package]] +name = "libgit2-sys" +version = "0.16.2+1.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee4126d8b4ee5c9d9ea891dd875cfdc1e9d0950437179104b183d7d8a74d24e8" +dependencies = [ + "cc", + "libc", + "libssh2-sys", + "libz-sys", + "openssl-sys", + "pkg-config", +] + +[[package]] +name = "libloading" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" +dependencies = [ + "cfg-if", + "windows-targets 0.52.6", +] + +[[package]] +name = "libm" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" + +[[package]] +name = "libnghttp2-sys" +version = "0.1.10+1.61.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "959c25552127d2e1fa72f0e52548ec04fc386e827ba71a7bd01db46a447dc135" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags", + "libc", + "redox_syscall", +] + +[[package]] +name = "libsqlite3-sys" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c10584274047cb335c23d3e61bcef8e323adae7c5c8c760540f73610177fc3f" +dependencies = [ + "cc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "libssh2-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dc8a030b787e2119a731f1951d6a773e2280c660f8ec4b0f5e1505a386e71ee" +dependencies = [ + "cc", + "libc", + "libz-sys", + "openssl-sys", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "libz-sys" +version = "1.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "linux-raw-sys" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" + +[[package]] +name = "litemap" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" + +[[package]] +name = "lock_api" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" + +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata 0.1.10", +] + +[[package]] +name = "maybe-async" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cf92c10c7e361d6b99666ec1c6f9805b0bea2c3bd8c78dc6fe98ac5bd78db11" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "memmap2" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" +dependencies = [ + "libc", +] + +[[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.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +dependencies = [ + "adler2", +] + +[[package]] +name = "mio" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" +dependencies = [ + "libc", + "wasi", + "windows-sys 0.52.0", +] + +[[package]] +name = "miow" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "359f76430b20a79f9e20e115b3428614e654f04fab314482fc0fda0ebd3c6044" +dependencies = [ + "windows-sys 0.48.0", +] + +[[package]] +name = "native-tls" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" +dependencies = [ + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] +name = "normpath" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8911957c4b1549ac0dc74e30db9c8b0e66ddcd6d7acc33098f4c63a64a6d7ed" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "nu-ansi-term" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +dependencies = [ + "overload", + "winapi", +] + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "num_threads" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" +dependencies = [ + "libc", +] + +[[package]] +name = "object" +version = "0.36.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" + +[[package]] +name = "opener" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0812e5e4df08da354c851a3376fead46db31c2214f849d3de356d774d057681" +dependencies = [ + "bstr", + "dbus", + "normpath", + "windows-sys 0.59.0", +] + +[[package]] +name = "openssl" +version = "0.10.68" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" +dependencies = [ + "bitflags", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.104" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "ordered-float" +version = "2.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" +dependencies = [ + "num-traits", +] + +[[package]] +name = "orion" +version = "0.17.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97ab5415cf60cd271259e576f2ddee7a5f9fed42659035224c01af766943fad3" +dependencies = [ + "fiat-crypto", + "subtle", + "zeroize", +] + +[[package]] +name = "os_info" +version = "3.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5ca711d8b83edbb00b44d504503cd247c9c0bd8b0fa2694f2a1a3d8165379ce" +dependencies = [ + "log", + "windows-sys 0.52.0", +] + +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + +[[package]] +name = "p384" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70786f51bcc69f6a4c0360e063a4cac5419ef7c5cd5b3c99ad70f3be5ba79209" +dependencies = [ + "ecdsa", + "elliptic-curve", + "primeorder", + "sha2", +] + +[[package]] +name = "parking_lot" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets 0.52.6", +] + +[[package]] +name = "pasetors" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b36d47c66f2230dd1b7143d9afb2b4891879020210eddf2ccb624e529b96dba" +dependencies = [ + "ct-codecs", + "ed25519-compact", + "getrandom", + "orion", + "p384", + "rand_core", + "regex", + "serde", + "serde_json", + "sha2", + "subtle", + "time", + "zeroize", +] + +[[package]] +name = "pathdiff" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" + +[[package]] +name = "pem-rfc7468" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +dependencies = [ + "base64ct", +] + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "pin-project-lite" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + +[[package]] +name = "pkg-config" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "ppv-lite86" +version = "0.2.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "primeorder" +version = "0.13.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" +dependencies = [ + "elliptic-curve", +] + +[[package]] +name = "proc-macro2" +version = "1.0.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "prodash" +version = "28.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "744a264d26b88a6a7e37cbad97953fa233b94d585236310bcbc88474b4092d79" +dependencies = [ + "parking_lot", +] + +[[package]] +name = "proptest" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4c2511913b88df1637da85cc8d96ec8e43a3f8bb8ccb71ee1ac240d6f3df58d" +dependencies = [ + "bit-set", + "bit-vec", + "bitflags", + "lazy_static", + "num-traits", + "rand", + "rand_chacha", + "rand_xorshift", + "regex-syntax 0.8.5", + "rusty-fork", + "tempfile", + "unarray", +] + +[[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.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +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 = "rand_xorshift" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" +dependencies = [ + "rand_core", +] + +[[package]] +name = "rand_xoshiro" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" +dependencies = [ + "rand_core", +] + +[[package]] +name = "redox_syscall" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" +dependencies = [ + "bitflags", +] + +[[package]] +name = "regex" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata 0.4.9", + "regex-syntax 0.8.5", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax 0.6.29", +] + +[[package]] +name = "regex-automata" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.8.5", +] + +[[package]] +name = "regex-syntax" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + +[[package]] +name = "regex-syntax" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" + +[[package]] +name = "reqwest" +version = "0.12.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a77c62af46e79de0a562e1a9849205ffcb7fc1238876e9bd743357570e04046f" +dependencies = [ + "base64", + "bytes", + "encoding_rs", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-rustls", + "hyper-tls", + "hyper-util", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls-pemfile", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "system-configuration", + "tokio", + "tokio-native-tls", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "windows-registry", +] + +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac", + "subtle", +] + +[[package]] +name = "ring" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +dependencies = [ + "cc", + "cfg-if", + "getrandom", + "libc", + "spin", + "untrusted", + "windows-sys 0.52.0", +] + +[[package]] +name = "roff" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88f8660c1ff60292143c98d08fc6e2f654d722db50410e3f3797d40baaf9d8f3" + +[[package]] +name = "rusqlite" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b838eba278d213a8beaf485bd313fd580ca4505a00d5871caeb1457c55322cae" +dependencies = [ + "bitflags", + "fallible-iterator", + "fallible-streaming-iterator", + "hashlink", + "libsqlite3-sys", + "smallvec", +] + +[[package]] +name = "rust-embed" +version = "8.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa66af4a4fdd5e7ebc276f115e895611a34739a9c1c01028383d612d550953c0" +dependencies = [ + "rust-embed-impl", + "rust-embed-utils", + "walkdir", +] + +[[package]] +name = "rust-embed-impl" +version = "8.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6125dbc8867951125eec87294137f4e9c2c96566e61bf72c45095a7c77761478" +dependencies = [ + "proc-macro2", + "quote", + "rust-embed-utils", + "syn", + "walkdir", +] + +[[package]] +name = "rust-embed-utils" +version = "8.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e5347777e9aacb56039b0e1f28785929a8a3b709e87482e7442c72e7c12529d" +dependencies = [ + "sha2", + "walkdir", +] + +[[package]] +name = "rust-pkg-gen" +version = "1.1.0" +dependencies = [ + "anyhow", + "cargo-local-registry", + "chrono", + "clap", + "clap_complete", + "clap_mangen", + "dialoguer", + "env_logger", + "filebuffer", + "flate2", + "hex", + "log", + "proptest", + "rand", + "regex", + "reqwest", + "rust-embed", + "serde", + "sha2", + "tar", + "toml", + "url", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" + +[[package]] +name = "rustfix" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82fa69b198d894d84e23afde8e9ab2af4400b2cba20d6bf2b428a8b01c222c5a" +dependencies = [ + "serde", + "serde_json", + "thiserror 1.0.69", + "tracing", +] + +[[package]] +name = "rustix" +version = "0.38.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93dc38ecbab2eb790ff964bb77fa94faf256fd3e73285fd7ba0903b76bedb85" +dependencies = [ + "bitflags", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.59.0", +] + +[[package]] +name = "rustls" +version = "0.23.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5065c3f250cbd332cd894be57c40fa52387247659b14a2d6041d121547903b1b" +dependencies = [ + "once_cell", + "rustls-pki-types", + "rustls-webpki", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls-pemfile" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "rustls-pki-types" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b" + +[[package]] +name = "rustls-webpki" +version = "0.102.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +dependencies = [ + "ring", + "rustls-pki-types", + "untrusted", +] + +[[package]] +name = "rusty-fork" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f" +dependencies = [ + "fnv", + "quick-error", + "tempfile", + "wait-timeout", +] + +[[package]] +name = "ryu" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "schannel" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "sec1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct", + "der", + "generic-array", + "pkcs8", + "subtle", + "zeroize", +] + +[[package]] +name = "security-framework" +version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" +dependencies = [ + "bitflags", + "core-foundation 0.9.4", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa39c7303dc58b5543c94d22c1766b0d31f2ee58306363ea622b10bbc075eaa2" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "semver" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" +dependencies = [ + "serde", +] + +[[package]] +name = "serde" +version = "1.0.216" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b9781016e935a97e8beecf0c933758c97a5520d32930e460142b4cd80c6338e" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde-untagged" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2676ba99bd82f75cae5cbd2c8eda6fa0b8760f18978ea840e980dd5567b5c5b6" +dependencies = [ + "erased-serde", + "serde", + "typeid", +] + +[[package]] +name = "serde-value" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" +dependencies = [ + "ordered-float", + "serde", +] + +[[package]] +name = "serde_derive" +version = "1.0.216" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46f859dbbf73865c6627ed570e78961cd3ac92407a2d117204c49232485da55e" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_ignored" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8e319a36d1b52126a0d608f24e93b2d81297091818cd70625fcf50a15d84ddf" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_json" +version = "1.0.133" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" +dependencies = [ + "itoa", + "memchr", + "ryu", + "serde", +] + +[[package]] +name = "serde_spanned" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" +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" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sha1_smol" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d" + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sharded-slab" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "shell-escape" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f" + +[[package]] +name = "shell-words" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest", + "rand_core", +] + +[[package]] +name = "sized-chunks" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e" +dependencies = [ + "bitmaps", + "typenum", +] + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" + +[[package]] +name = "socket2" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + +[[package]] +name = "supports-hyperlinks" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "804f44ed3c63152de6a9f90acbea1a110441de43006ea51bcce8f436196a288b" + +[[package]] +name = "supports-unicode" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7401a30af6cb5818bb64852270bb722533397edcfc7344954a38f420819ece2" + +[[package]] +name = "syn" +version = "2.0.90" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sync_wrapper" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] + +[[package]] +name = "synstructure" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "system-configuration" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" +dependencies = [ + "bitflags", + "core-foundation 0.9.4", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "tar" +version = "0.4.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c65998313f8e17d0d553d28f91a0df93e4dbbbf770279c7bc21ca0f09ea1a1f6" +dependencies = [ + "filetime", + "libc", + "xattr", +] + +[[package]] +name = "tempfile" +version = "3.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c" +dependencies = [ + "cfg-if", + "fastrand", + "once_cell", + "rustix", + "windows-sys 0.59.0", +] + +[[package]] +name = "terminal_size" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5352447f921fda68cf61b4101566c0bdb5104eff6804d0678e5227580ab6a4e9" +dependencies = [ + "rustix", + "windows-sys 0.59.0", +] + +[[package]] +name = "thiserror" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +dependencies = [ + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93605438cbd668185516ab499d589afb7ee1859ea3d5fc8f6b0755e1c7443767" +dependencies = [ + "thiserror-impl 2.0.7", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1d8749b4531af2117677a5fcd12b1348a3fe2b81e36e61ffeac5c4aa3273e36" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "thread_local" +version = "1.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +dependencies = [ + "cfg-if", + "once_cell", +] + +[[package]] +name = "time" +version = "0.3.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" +dependencies = [ + "deranged", + "itoa", + "libc", + "num-conv", + "num_threads", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + +[[package]] +name = "time-macros" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tinystr" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "tinyvec" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cec9b21b0450273377fc97bd4c33a8acffc8c996c987a7c5b319a0083707551" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "pin-project-lite", + "socket2", + "windows-sys 0.52.0", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", +] + +[[package]] +name = "tokio-rustls" +version = "0.26.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37" +dependencies = [ + "rustls", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "toml" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + +[[package]] +name = "toml_datetime" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.22.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" +dependencies = [ + "indexmap", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", +] + +[[package]] +name = "tower-service" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" + +[[package]] +name = "tracing" +version = "0.1.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +dependencies = [ + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tracing-chrome" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf0a738ed5d6450a9fb96e86a23ad808de2b727fd1394585da5cdd6788ffe724" +dependencies = [ + "serde_json", + "tracing-core", + "tracing-subscriber", +] + +[[package]] +name = "tracing-core" +version = "0.1.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" +dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "regex", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "typeid" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e13db2e0ccd5e14a544e8a246ba2312cd25223f616442d7f2cb0e3db614236e" + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "unarray" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" + +[[package]] +name = "unicase" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e51b68083f157f853b6379db119d1c1be0e6e4dec98101079dec41f6f5cf6df" + +[[package]] +name = "unicode-bom" +version = "2.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7eec5d1121208364f6793f7d2e222bf75a915c19557537745b195b253dd64217" + +[[package]] +name = "unicode-ident" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" + +[[package]] +name = "unicode-normalization" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-width" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" + +[[package]] +name = "unicode-width" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" + +[[package]] +name = "unicode-xid" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" + +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + +[[package]] +name = "url" +version = "2.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "utf16_iter" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + +[[package]] +name = "utf8parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" + +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "wait-timeout" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" +dependencies = [ + "libc", +] + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "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.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396" +dependencies = [ + "cfg-if", + "once_cell", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79" +dependencies = [ + "bumpalo", + "log", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.49" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38176d9b44ea84e9184eff0bc34cc167ed044f816accfe5922e54d84cf48eca2" +dependencies = [ + "cfg-if", + "js-sys", + "once_cell", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6" + +[[package]] +name = "web-sys" +version = "0.3.76" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04dd7223427d52553d3702c004d3b2fe07c148165faa56313cb00211e31c12bc" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-registry" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +dependencies = [ + "windows-result", + "windows-strings", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "winnow" +version = "0.6.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" +dependencies = [ + "memchr", +] + +[[package]] +name = "write16" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" + +[[package]] +name = "xattr" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" +dependencies = [ + "libc", + "linux-raw-sys", + "rustix", +] + +[[package]] +name = "yoke" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zerocopy" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +dependencies = [ + "byteorder", + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zerofrom" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zeroize" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" + +[[package]] +name = "zerovec" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] diff --git a/Cargo.toml b/Cargo.toml index 75916cd..8cab327 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rust-pkg-gen" -version = "1.0.0" +version = "1.1.0" edition = "2021" license = "MIT OR Apache-2.0" description = "Creates so-called rust 'packages' containing rust toolchains and crates." @@ -8,6 +8,11 @@ repository = "https://github.com/AverseABFun/rust-pkg-gen" homepage = "https://github.com/AverseABFun/rust-pkg-gen" authors = ["Arthur Beck "] readme = "README.md" +exclude = [ + "/.github/**", + "/.vscode/**", + "/rust-config.toml", # don't need the example +] [dependencies] anyhow = "1.0.94" diff --git a/local-registry/SOURCE b/local-registry/SOURCE deleted file mode 100644 index c67e864..0000000 --- a/local-registry/SOURCE +++ /dev/null @@ -1,3 +0,0 @@ -Github repo: https://github.com/dhovart/cargo-local-registry -Crates.io: https://crates.io/crates/cargo-local-registry -Build requirements: Have GCC, OpenSSL, and CMake in the path. \ No newline at end of file diff --git a/local-registry/cargo-local-registry-0.2.7/.cargo_vcs_info.json b/local-registry/cargo-local-registry-0.2.7/.cargo_vcs_info.json deleted file mode 100644 index ad4d53b..0000000 --- a/local-registry/cargo-local-registry-0.2.7/.cargo_vcs_info.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "git": { - "sha1": "5fba6b7524103624c109de6d7dd10a42f30aa794" - }, - "path_in_vcs": "" -} \ No newline at end of file diff --git a/local-registry/cargo-local-registry-0.2.7/.gitignore b/local-registry/cargo-local-registry-0.2.7/.gitignore deleted file mode 100644 index eb5a316..0000000 --- a/local-registry/cargo-local-registry-0.2.7/.gitignore +++ /dev/null @@ -1 +0,0 @@ -target diff --git a/local-registry/cargo-local-registry-0.2.7/.travis.yml b/local-registry/cargo-local-registry-0.2.7/.travis.yml deleted file mode 100644 index f7531c7..0000000 --- a/local-registry/cargo-local-registry-0.2.7/.travis.yml +++ /dev/null @@ -1,52 +0,0 @@ -language: rust -sudo: false -rust: stable -dist: trusty - -matrix: - include: - - rust: nightly - - - env: TARGET=x86_64-unknown-linux-musl DEPLOY=1 - before_script: - - rustup target add $TARGET - script: cargo build --release --target $TARGET --locked --features vendored-openssl - addons: - apt: - packages: - - musl-tools - - - os: osx - - os: osx - env: MACOSX_DEPLOYMENT_TARGET=10.7 DEPLOY=1 TARGET=x86_64-apple-darwin OPENSSL_STATIC=1 - script: cargo build --release --target $TARGET --locked - - -script: - - cargo test --locked - -notifications: - email: - on_success: never - -before_deploy: - - name="cargo-local-registry-$TRAVIS_TAG-$TARGET" - - mkdir $name - - cp target/$TARGET/release/cargo-local-registry $name/ - - cp README.md LICENSE-MIT LICENSE-APACHE $name/ - - tar czvf $name.tar.gz $name - -branches: - only: - - master - -deploy: - api_key: - secure: "jwvkQVMOna+agQCnwCWUvTFniBaBxhA/x46PODfZCEPIHxQXnDVeiM3MC4aVTLF0qdUB9T8z8DwNbZYVZdC1CsmSbrITs5Xi9lT4iSSRpUXaI0sH+MuCq2z73sHJRAsHINd4fkFxrlMjH7KOWWHkaw2layxtbyOMc2d8J5tN3d38LjbMZvtoqRBKN6XitCrSGej0eEU/l3reoHOQ4gLHAxIJjF4ARxmyGfV+uin31Qyk/4OM1acHnqg18geLunwjYwV6DTXDflrLiVXMKYOizi+jciDAXPLe6M0vTPeTqc793Hy0MnijQ2bvrQzkwcd79+sXlpS4LXJ65O96DipeUJ0+zqq4VhuUpAZjvsKC8IhOFKvMynBvoaf5nV0txFG5595WkpEm0n63PB/ZpAxLrRtoT13oYajGT5s30CtF4hm+W9KDJiHAl4J0TVlI+hRm+e0roiSL/8XjzfdhYccfOp46jbOABc1PP6l+ekA+rkQk1PeANGmrSOTJxB1Ulz71t+6JMqR4ZZ4fI9yXf9Xh40VB+FtfT+H2L20L4xZG49L5jtnzDer3GwKQ3CGp4tPklkNrFNhwYQwVfeQk5BYnqHtYCtiLcixDlG9jBvl1kaBSnKxg9lqvvaoffX3IbZeoLsbm5cjR25zlYJCSJO8S8FEhAAnu3+A1D2ovFPcPP0I=" - file_glob: true - file: cargo-local-registry-$TRAVIS_TAG-$TARGET.tar.gz - on: - condition: $DEPLOY = 1 - tags: true - provider: releases - skip_cleanup: true diff --git a/local-registry/cargo-local-registry-0.2.7/Cargo.toml b/local-registry/cargo-local-registry-0.2.7/Cargo.toml deleted file mode 100644 index 2a82503..0000000 --- a/local-registry/cargo-local-registry-0.2.7/Cargo.toml +++ /dev/null @@ -1,78 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g., crates.io) dependencies. -# -# If you are reading this file be aware that the original Cargo.toml -# will likely look very different (and much more reasonable). -# See Cargo.toml.orig for the original contents. - -[package] -edition = "2021" -name = "cargo-local-registry" -version = "0.2.7" -authors = ["Alex Crichton "] -build = false -autobins = false -autoexamples = false -autotests = false -autobenches = false -description = """ -A Cargo subcommand for managing local registries. -""" -homepage = "https://github.com/dhovart/cargo-local-registry" -readme = "README.md" -keywords = ["cargo-subcommand"] -license = "MIT/Apache-2.0" -repository = "https://github.com/dhovart/cargo-local-registry" - -[[bin]] -name = "cargo-local-registry" -path = "src/main.rs" - -[[test]] -name = "all" -path = "tests/all.rs" - -[dependencies.anyhow] -version = "1.0.47" - -[dependencies.cargo] -version = "0.81.0" - -[dependencies.cargo-platform] -version = "0.1.0" - -[dependencies.docopt] -version = "1.1.0" - -[dependencies.env_logger] -version = "0.11.0" - -[dependencies.flate2] -version = "1.0.22" - -[dependencies.openssl] -version = "0.10.41" -optional = true - -[dependencies.serde] -version = "1.0.104" -features = ["derive"] - -[dependencies.serde_json] -version = "1.0.46" - -[dependencies.tar] -version = "0.4.26" - -[dependencies.url] -version = "2.1.1" - -[dev-dependencies.tempfile] -version = "3.1.0" - -[features] -vendored-openssl = ["openssl/vendored"] diff --git a/local-registry/cargo-local-registry-0.2.7/Cargo.toml.orig b/local-registry/cargo-local-registry-0.2.7/Cargo.toml.orig deleted file mode 100644 index a1a95cf..0000000 --- a/local-registry/cargo-local-registry-0.2.7/Cargo.toml.orig +++ /dev/null @@ -1,32 +0,0 @@ -[package] -name = "cargo-local-registry" -version = "0.2.7" -authors = ["Alex Crichton "] -license = "MIT/Apache-2.0" -readme = "README.md" -keywords = ["cargo-subcommand"] -repository = "https://github.com/dhovart/cargo-local-registry" -homepage = "https://github.com/dhovart/cargo-local-registry" -description = """ -A Cargo subcommand for managing local registries. -""" -edition = "2021" - -[dependencies] -anyhow = "1.0.47" -cargo = "0.81.0" -cargo-platform = "0.1.0" -docopt = "1.1.0" -env_logger = "0.11.0" -flate2 = "1.0.22" -openssl = { version = '0.10.41', optional = true } -serde = { version = "1.0.104", features = ['derive'] } -serde_json = "1.0.46" -tar = "0.4.26" -url = "2.1.1" - -[dev-dependencies] -tempfile = "3.1.0" - -[features] -vendored-openssl = ['openssl/vendored'] diff --git a/local-registry/cargo-local-registry-0.2.7/LICENSE-APACHE b/local-registry/cargo-local-registry-0.2.7/LICENSE-APACHE deleted file mode 100644 index 16fe87b..0000000 --- a/local-registry/cargo-local-registry-0.2.7/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/local-registry/cargo-local-registry-0.2.7/LICENSE-MIT b/local-registry/cargo-local-registry-0.2.7/LICENSE-MIT deleted file mode 100644 index 39e0ed6..0000000 --- a/local-registry/cargo-local-registry-0.2.7/LICENSE-MIT +++ /dev/null @@ -1,25 +0,0 @@ -Copyright (c) 2014 Alex Crichton - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/local-registry/cargo-local-registry-0.2.7/README.md b/local-registry/cargo-local-registry-0.2.7/README.md deleted file mode 100644 index c800086..0000000 --- a/local-registry/cargo-local-registry-0.2.7/README.md +++ /dev/null @@ -1,82 +0,0 @@ -# `cargo local-registry` - -[![Build Status](https://travis-ci.org/alexcrichton/cargo-local-registry.svg?branch=master)](https://travis-ci.org/alexcrichton/cargo-local-registry) -[![Build status](https://ci.appveyor.com/api/projects/status/x867la68pp0s94an/branch/master?svg=true)](https://ci.appveyor.com/project/alexcrichton/cargo-local-registry/branch/master) - -This is a Cargo subcommand to ease maintenance of local registries. Support for -a local registry is being added in -[rust-lang/cargo#2361](https://github.com/rust-lang/cargo/pull/2361) and will be -able to redirect all Cargo downloads/requests to a registry stored locally. - -This support is often useful for "offline builds" by preparing the list of all -Rust dependencies ahead of time and shipping them to a build machine in a -pre-ordained format. A local registry is an index and a collection of tarballs, -all of which currently originate from crates.io. - -The purpose of this subcommand will be to manage these registries and allow -adding/deleting packages with ease. - -## Installation - -To install from source you can execute: - -``` -cargo install cargo-local-registry -``` - -Note that you'll need the build tools listed below for this to succeed. If you'd -prefer to download precompiled binaries assembled on the CI for this repository, -you may also use the [GitHub releases][releases] - -[releases]: https://github.com/alexcrichton/cargo-local-registry/releases - -## Building - -As part of the build process you will need [gcc], [openssl] and [cmake] in your -`PATH`. - -[gcc]: https://gcc.gnu.org/install/download.html -[openssl]: https://www.openssl.org/source/ -[cmake]: https://cmake.org/download/ - -Afterwards you can build this repository via: - -``` -cargo build -``` - -And the resulting binary will be inside `target/debug` - -## Usage - -One of the primary operations will be to create a local registry from a lock -file itself. This can be done via - -``` -cargo local-registry --sync path/to/Cargo.lock path/to/registry -``` - -This command will: - -* Download all dependencies from the crates.io registry -* Verify all checksums of what's downloaded -* Place all downloads in `path/to/registry` -* Prepare the index of `path/to/registry` to reflect all this information - -# License - -This project is licensed under either of - - * Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or - http://www.apache.org/licenses/LICENSE-2.0) - * MIT license ([LICENSE-MIT](LICENSE-MIT) or - http://opensource.org/licenses/MIT) - -at your option. - -### Contribution - -Unless you explicitly state otherwise, any contribution intentionally submitted -for inclusion in cargo-local-registry by you, as defined in the Apache-2.0 -license, shall be dual licensed as above, without any additional terms or -conditions. diff --git a/local-registry/cargo-local-registry-0.2.7/appveyor.yml b/local-registry/cargo-local-registry-0.2.7/appveyor.yml deleted file mode 100644 index b4288f1..0000000 --- a/local-registry/cargo-local-registry-0.2.7/appveyor.yml +++ /dev/null @@ -1,46 +0,0 @@ -environment: - global: - RUSTFLAGS: -Zunstable-options -Ctarget-feature=+crt-static - matrix: - - TARGET: x86_64-pc-windows-msvc - DEPLOY: 1 - -install: - # Install rust, x86_64-pc-windows-msvc host - - appveyor-retry appveyor DownloadFile https://win.rustup.rs/ -FileName rustup-init.exe - - rustup-init.exe -y --default-host x86_64-pc-windows-msvc --default-toolchain nightly - - set PATH=%PATH%;C:\Users\appveyor\.cargo\bin - - rustc -V - - cargo -V - -branches: - only: - - master - -build: false - -test_script: - - cargo test --locked - - cargo build --release - -before_deploy: - - ps: | - $NAME = "cargo-local-registry-${env:APPVEYOR_REPO_TAG_NAME}-${env:TARGET}" - New-Item -Path $NAME -ItemType directory - Copy-Item target/release/cargo-local-registry.exe "${NAME}/" - Copy-Item LICENSE-MIT "${NAME}/" - Copy-Item LICENSE-APACHE "${NAME}/" - Copy-Item README.md "${NAME}/" - 7z a -ttar "${NAME}.tar" "${NAME}" - 7z a "${NAME}.tar.gz" "${NAME}.tar" - Push-AppveyorArtifact "${NAME}.tar.gz" - -deploy: - artifact: /.*\.tar.gz/ - auth_token: - secure: nHB4fVo+y/Aak+L0nYfrT8Rcs8OfUNm0F2xcIVFVYJ9ehf0CzvCmSMUvWguM0kKp - description: '' - on: - appveyor_repo_tag: true - provider: GitHub - diff --git a/local-registry/cargo-local-registry-0.2.7/src/main.rs b/local-registry/cargo-local-registry-0.2.7/src/main.rs deleted file mode 100644 index 7c7c224..0000000 --- a/local-registry/cargo-local-registry-0.2.7/src/main.rs +++ /dev/null @@ -1,365 +0,0 @@ -use anyhow::Context as _; -use cargo::core::dependency::DepKind; -use cargo::core::resolver::Resolve; -use cargo::core::{Package, SourceId, Workspace}; -use cargo::sources::PathSource; -use cargo::util::errors::*; -use cargo::util::GlobalContext; -use cargo_platform::Platform; -use docopt::Docopt; -use flate2::write::GzEncoder; -use serde::{Deserialize, Serialize}; -use std::collections::{BTreeMap, HashSet}; -use std::env; -use std::fs::{self, File}; -use std::io; -use std::io::prelude::*; -use std::path::{self, Path, PathBuf}; -use tar::{Builder, Header}; -use url::Url; - -#[derive(Deserialize)] -struct Options { - arg_path: String, - flag_no_delete: Option, - flag_sync: Option, - flag_host: Option, - flag_verbose: u32, - flag_quiet: bool, - flag_color: Option, - flag_git: bool, -} - -#[derive(Deserialize, Serialize)] -struct RegistryPackage { - name: String, - vers: String, - deps: Vec, - cksum: String, - features: BTreeMap>, - yanked: Option, -} - -#[derive(Eq, Ord, PartialEq, PartialOrd, Deserialize, Serialize)] -struct RegistryDependency { - name: String, - req: String, - features: Vec, - optional: bool, - default_features: bool, - target: Option, - kind: Option, - package: Option, -} - -fn main() { - env_logger::init(); - - // We're doing the vendoring operation outselves, so we don't actually want - // to respect any of the `source` configuration in Cargo itself. That's - // intended for other consumers of Cargo, but we want to go straight to the - // source, e.g. crates.io, to fetch crates. - let mut config = { - let config_orig = GlobalContext::default().unwrap(); - let mut values = config_orig.values().unwrap().clone(); - values.remove("source"); - let config = GlobalContext::default().unwrap(); - config.set_values(values).unwrap(); - config - }; - - let usage = r#" -Vendor all dependencies for a project locally - -Usage: - cargo local-registry [options] [] - -Options: - -h, --help Print this message - -s, --sync LOCK Sync the registry with LOCK - --host HOST Registry index to sync with - --git Vendor git dependencies as well - -v, --verbose Use verbose output - -q, --quiet No output printed to stdout - --color WHEN Coloring: auto, always, never - --no-delete Don't delete older crates in the local registry directory -"#; - - let options = Docopt::new(usage) - .and_then(|d| d.deserialize()) - .unwrap_or_else(|e| e.exit()); - let result = real_main(options, &mut config); - if let Err(e) = result { - cargo::exit_with_error(e.into(), &mut config.shell()); - } -} - -fn real_main(options: Options, config: &mut GlobalContext) -> CargoResult<()> { - config.configure( - options.flag_verbose, - options.flag_quiet, - options.flag_color.as_deref(), - /* frozen = */ false, - /* locked = */ false, - /* offline = */ false, - /* target dir = */ &None, - /* unstable flags = */ &[], - /* cli_config = */ &[], - )?; - - let path = Path::new(&options.arg_path); - let index = path.join("index"); - - fs::create_dir_all(&index) - .with_context(|| format!("failed to create index: `{}`", index.display()))?; - let id = match options.flag_host { - Some(ref s) => SourceId::for_registry(&Url::parse(s)?)?, - None => SourceId::crates_io_maybe_sparse_http(config)?, - }; - - let lockfile = match options.flag_sync { - Some(ref file) => file, - None => return Ok(()), - }; - - sync(Path::new(lockfile), path, &id, &options, config).with_context(|| "failed to sync")?; - - println!( - "add this to your .cargo/config somewhere: - - [source.crates-io] - registry = '{}' - replace-with = 'local-registry' - - [source.local-registry] - local-registry = '{}' - -", - id.url(), - config.cwd().join(path).display() - ); - - Ok(()) -} - -fn sync( - lockfile: &Path, - local_dst: &Path, - registry_id: &SourceId, - options: &Options, - config: &GlobalContext, -) -> CargoResult<()> { - let no_delete = options.flag_no_delete.unwrap_or(false); - let canonical_local_dst = local_dst.canonicalize().unwrap_or(local_dst.to_path_buf()); - let manifest = lockfile.parent().unwrap().join("Cargo.toml"); - let manifest = env::current_dir().unwrap().join(&manifest); - let ws = Workspace::new(&manifest, config)?; - let (packages, resolve) = - cargo::ops::resolve_ws(&ws).with_context(|| "failed to load pkg lockfile")?; - packages.get_many(resolve.iter())?; - - let hash = cargo::util::hex::short_hash(registry_id); - let ident = registry_id.url().host().unwrap().to_string(); - let part = format!("{}-{}", ident, hash); - - let cache = config.registry_cache_path().join(&part); - - let mut added_crates = HashSet::new(); - let mut added_index = HashSet::new(); - for id in resolve.iter() { - if id.source_id().is_git() { - if !options.flag_git { - continue; - } - } else if !id.source_id().is_registry() { - continue; - } - - let pkg = packages - .get_one(id) - .with_context(|| "failed to fetch package")?; - let filename = format!("{}-{}.crate", id.name(), id.version()); - let dst = canonical_local_dst.join(&filename); - if id.source_id().is_registry() { - let src = cache.join(&filename).into_path_unlocked(); - fs::copy(&src, &dst).with_context(|| { - format!("failed to copy `{}` to `{}`", src.display(), dst.display()) - })?; - } else { - let file = File::create(&dst).unwrap(); - let gz = GzEncoder::new(file, flate2::Compression::best()); - let mut ar = Builder::new(gz); - ar.mode(tar::HeaderMode::Deterministic); - build_ar(&mut ar, pkg, config); - } - added_crates.insert(dst); - - let name = id.name().to_lowercase(); - let index_dir = canonical_local_dst.join("index"); - let dst = match name.len() { - 1 => index_dir.join("1").join(name), - 2 => index_dir.join("2").join(name), - 3 => index_dir.join("3").join(&name[..1]).join(name), - _ => index_dir.join(&name[..2]).join(&name[2..4]).join(name), - }; - fs::create_dir_all(dst.parent().unwrap())?; - let line = serde_json::to_string(®istry_pkg(pkg, &resolve)).unwrap(); - - let prev = if no_delete || added_index.contains(&dst) { - read(&dst).unwrap_or_default() - } else { - // If cleaning old entries (no_delete is not set), don't read the file unless we wrote - // it in one of the previous iterations. - String::new() - }; - let mut prev_entries = prev - .lines() - .filter(|line| { - let pkg: RegistryPackage = serde_json::from_str(line).unwrap(); - pkg.vers != id.version().to_string() - }) - .collect::>(); - prev_entries.push(&line); - prev_entries.sort(); - let new_contents = prev_entries.join("\n"); - - File::create(&dst).and_then(|mut f| f.write_all(new_contents.as_bytes()))?; - added_index.insert(dst); - } - - if !no_delete { - let existing_crates: Vec = canonical_local_dst - .read_dir() - .map(|iter| { - iter.filter_map(|e| e.ok()) - .filter(|e| { - e.file_name() - .to_str() - .map_or(false, |name| name.ends_with(".crate")) - }) - .map(|e| e.path()) - .collect::>() - }) - .unwrap_or_else(|_| Vec::new()); - - for path in existing_crates { - if !added_crates.contains(&path) { - fs::remove_file(&path)?; - } - } - - scan_delete(&canonical_local_dst.join("index"), 3, &added_index)?; - } - Ok(()) -} - -fn scan_delete(path: &Path, depth: usize, keep: &HashSet) -> CargoResult<()> { - if path.is_file() && !keep.contains(path) { - fs::remove_file(path)?; - } else if path.is_dir() && depth > 0 { - for entry in (path.read_dir()?).flatten() { - scan_delete(&entry.path(), depth - 1, keep)?; - } - - let is_empty = path.read_dir()?.next().is_none(); - // Don't delete "index" itself - if is_empty && depth != 3 { - fs::remove_dir(path)?; - } - } - Ok(()) -} - -fn build_ar(ar: &mut Builder>, pkg: &Package, config: &GlobalContext) { - let root = pkg.root(); - let src = PathSource::new(pkg.root(), pkg.package_id().source_id(), config); - for file in src.list_files(pkg).unwrap().iter() { - let relative = file.strip_prefix(root).unwrap(); - let relative = relative.to_str().unwrap(); - let mut file = File::open(file).unwrap(); - let path = format!( - "{}-{}{}{}", - pkg.name(), - pkg.version(), - path::MAIN_SEPARATOR, - relative - ); - - let mut header = Header::new_ustar(); - let metadata = file.metadata().unwrap(); - header.set_path(&path).unwrap(); - header.set_metadata(&metadata); - header.set_cksum(); - - ar.append(&header, &mut file).unwrap(); - } -} - -fn registry_pkg(pkg: &Package, resolve: &Resolve) -> RegistryPackage { - let id = pkg.package_id(); - let mut deps = pkg - .dependencies() - .iter() - .map(|dep| { - let (name, package) = match &dep.explicit_name_in_toml() { - Some(explicit) => (explicit.to_string(), Some(dep.package_name().to_string())), - None => (dep.package_name().to_string(), None), - }; - - RegistryDependency { - name, - req: dep.version_req().to_string(), - features: dep.features().iter().map(|s| s.to_string()).collect(), - optional: dep.is_optional(), - default_features: dep.uses_default_features(), - target: dep.platform().map(|platform| match *platform { - Platform::Name(ref s) => s.to_string(), - Platform::Cfg(ref s) => format!("cfg({})", s), - }), - kind: match dep.kind() { - DepKind::Normal => None, - DepKind::Development => Some("dev".to_string()), - DepKind::Build => Some("build".to_string()), - }, - package, - } - }) - .collect::>(); - deps.sort(); - - let features = pkg - .summary() - .features() - .iter() - .map(|(k, v)| { - let mut v = v.iter().map(|fv| fv.to_string()).collect::>(); - v.sort(); - (k.to_string(), v) - }) - .collect(); - - RegistryPackage { - name: id.name().to_string(), - vers: id.version().to_string(), - deps, - features, - cksum: resolve - .checksums() - .get(&id) - .cloned() - .unwrap_or_default() - .unwrap_or_default(), - yanked: Some(false), - } -} - -fn read(path: &Path) -> CargoResult { - let s = (|| -> io::Result<_> { - let mut contents = String::new(); - let mut f = File::open(path)?; - f.read_to_string(&mut contents)?; - Ok(contents) - })() - .with_context(|| format!("failed to read: {}", path.display()))?; - Ok(s) -} diff --git a/local-registry/cargo-local-registry-0.2.7/tests/all.rs b/local-registry/cargo-local-registry-0.2.7/tests/all.rs deleted file mode 100644 index 8f0d3d4..0000000 --- a/local-registry/cargo-local-registry-0.2.7/tests/all.rs +++ /dev/null @@ -1,512 +0,0 @@ -extern crate tempfile; - -use std::env; -use std::fs::{self, File}; -use std::io::prelude::*; -use std::process::Command; -use std::sync::{Once, Mutex, MutexGuard}; - -use tempfile::TempDir; - -fn cmd() -> Command { - let mut me = env::current_exe().unwrap(); - me.pop(); - if me.ends_with("deps") { - me.pop(); - } - me.push("cargo-local-registry"); - let mut cmd = Command::new(me); - cmd.arg("local-registry"); - return cmd -} - -static INIT: Once = Once::new(); -static mut LOCK: *mut Mutex<()> = 0 as *mut _; - -fn lock() -> MutexGuard<'static, ()> { - unsafe { - INIT.call_once(|| { - LOCK = Box::into_raw(Box::new(Mutex::new(()))); - }); - (*LOCK).lock().unwrap() - } -} - -#[test] -fn help() { - run(cmd().arg("--help")); - run(cmd().arg("-h")); -} - -#[test] -fn no_sync() { - let _l = lock(); - let td = TempDir::new().unwrap(); - let output = run(cmd().arg(td.path())); - assert!(td.path().join("index").exists()); - assert_eq!(output, ""); -} - -#[test] -fn dst_no_exists() { - let _l = lock(); - let td = TempDir::new().unwrap(); - let output = run(cmd().arg(td.path().join("foo"))); - assert!(td.path().join("foo/index").exists()); - assert_eq!(output, ""); -} - -#[test] -fn empty_cargo_lock() { - let _l = lock(); - let td = TempDir::new().unwrap(); - let lock = td.path().join("Cargo.lock"); - let registry = td.path().join("registry"); - fs::create_dir(td.path().join("src")).unwrap(); - File::create(&td.path().join("Cargo.toml")).unwrap().write_all(br#" - [package] - name = "foo" - version = "0.1.0" - authors = [] - "#).unwrap(); - File::create(&td.path().join("src/lib.rs")).unwrap().write_all(b"").unwrap(); - File::create(&lock).unwrap().write_all(br#" -[[package]] -name = "foo" -version = "0.1.0" -dependencies = [] -"#).unwrap(); - run(cmd().arg(®istry).arg("--sync").arg(&lock).arg("-v")); - - assert!(registry.join("index").is_dir()); - assert_eq!(registry.join("index").read_dir().unwrap().count(), 0); -} - -#[test] -fn libc_dependency() { - let _l = lock(); - let td = TempDir::new().unwrap(); - let lock = td.path().join("Cargo.lock"); - let registry = td.path().join("registry"); - fs::create_dir(td.path().join("src")).unwrap(); - File::create(&td.path().join("Cargo.toml")).unwrap().write_all(br#" - [package] - name = "foo" - version = "0.1.0" - authors = [] - - [dependencies] - libc = "0.2.6" - "#).unwrap(); - File::create(&td.path().join("src/lib.rs")).unwrap().write_all(b"").unwrap(); - File::create(&lock).unwrap().write_all(br#" -[[package]] -name = "foo" -version = "0.1.0" -dependencies = [ - "libc 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "libc" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -"#).unwrap(); - println!("one: {}", run(cmd().arg(®istry).arg("--sync").arg(&lock))); - - assert!(registry.join("index").is_dir()); - assert!(registry.join("index/li/bc/libc").is_file()); - assert!(registry.join("libc-0.2.7.crate").is_file()); - - File::create(&lock).unwrap().write_all(br#" -[[package]] -name = "foo" -version = "0.1.0" -dependencies = [ - "libc 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "libc" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -"#).unwrap(); - println!("two: {}", run(cmd().arg(®istry).arg("--sync").arg(&lock))); - - assert!(registry.join("index").is_dir()); - assert!(registry.join("index/li/bc/libc").is_file()); - assert!(registry.join("libc-0.2.6.crate").is_file()); - assert!(!registry.join("libc-0.2.7.crate").exists()); - - let mut contents = String::new(); - File::open(registry.join("index/li/bc/libc")).unwrap() - .read_to_string(&mut contents).unwrap(); - assert_eq!(contents.lines().count(), 1); - assert!(contents.contains("0.2.6")); -} - -#[test] -fn git_dependency() { - let _l = lock(); - let td = TempDir::new().unwrap(); - let lock = td.path().join("Cargo.lock"); - let registry = td.path().join("registry"); - fs::create_dir(td.path().join("src")).unwrap(); - File::create(&td.path().join("Cargo.toml")).unwrap().write_all(br#" - [package] - name = "foo" - version = "0.1.0" - authors = [] - - [dependencies] - libc = { git = "https://github.com/rust-lang/libc" } - "#).unwrap(); - File::create(&td.path().join("src/lib.rs")).unwrap().write_all(b"").unwrap(); - File::create(&lock).unwrap().write_all(br#" -[[package]] -name = "foo" -version = "0.1.0" -dependencies = [ - "libc 0.2.16 (git+https://github.com/rust-lang/libc)", -] - -[[package]] -name = "libc" -version = "0.2.16" -source = "git+https://github.com/rust-lang/libc#36bec35aeb600bb1b8b47f4985a84a8d4a261747" -"#).unwrap(); - run(cmd().arg(®istry).arg("--sync").arg(&lock).arg("--git")); - - assert!(registry.join("index").is_dir()); - assert!(registry.join("index/li/bc/libc").is_file()); - assert!(registry.join("libc-0.2.16.crate").is_file()); -} - -#[test] -fn deterministic() { - let td = TempDir::new().unwrap(); - let lock = td.path().join("Cargo.lock"); - let registry = td.path().join("registry"); - fs::create_dir(td.path().join("src")).unwrap(); - File::create(&td.path().join("Cargo.toml")).unwrap().write_all(br#" - [package] - name = "foo" - version = "0.1.0" - authors = [] - - [dependencies] - libc = "0.1.4" - filetime = "0.1.10" - "#).unwrap(); - File::create(&td.path().join("src/lib.rs")).unwrap().write_all(b"").unwrap(); - File::create(&lock).unwrap().write_all(br#" -[[package]] -name = "foo" -version = "0.1.0" -dependencies = [ - "libc 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "filetime 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "libc" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "libc" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "filetime" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", -] -"#).unwrap(); - run(cmd().arg(®istry).arg("--sync").arg(&lock)); - - let mut contents = String::new(); - File::open(registry.join("index/li/bc/libc")).unwrap() - .read_to_string(&mut contents).unwrap(); - assert_eq!(contents, r#"{"name":"libc","vers":"0.1.4","deps":[],"cksum":"93a57b3496432ca744a67300dae196f8d4bbe33dfa7dc27adabfb6faa4643bb2","features":{"cargo-build":[],"default":["cargo-build"]},"yanked":false} -{"name":"libc","vers":"0.2.7","deps":[],"cksum":"4870ef6725dde13394134e587e4ab4eca13cb92e916209a31c851b49131d3c75","features":{"default":[]},"yanked":false}"#); - - // A lot of this doesn't look particularity ordered. It's not! This line is - // exactly as it appears in the crates.io index. As long as crates.io - // doesn't rewrite all the crates we should be fine. - contents.clear(); - File::open(registry.join("index/fi/le/filetime")).unwrap() - .read_to_string(&mut contents).unwrap(); - assert_eq!(contents, r#"{"name":"filetime","vers":"0.1.10","deps":[{"name":"libc","req":"^0.2","features":[],"optional":false,"default_features":true,"target":null,"kind":null,"package":null},{"name":"tempdir","req":"^0.3","features":[],"optional":false,"default_features":true,"target":null,"kind":"dev","package":null}],"cksum":"5363ab8e4139b8568a6237db5248646e5a8a2f89bd5ccb02092182b11fd3e922","features":{},"yanked":false}"#); - - File::create(&lock).unwrap().write_all(br#" -[[package]] -name = "foo" -version = "0.1.0" -dependencies = [ - "libc 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "filetime 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "libc" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "libc" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "filetime" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", -] -"#).unwrap(); - run(cmd().arg(®istry).arg("--sync").arg(&lock)); - - contents.clear(); - File::open(registry.join("index/li/bc/libc")).unwrap() - .read_to_string(&mut contents).unwrap(); - assert_eq!(contents, r#"{"name":"libc","vers":"0.1.4","deps":[],"cksum":"93a57b3496432ca744a67300dae196f8d4bbe33dfa7dc27adabfb6faa4643bb2","features":{"cargo-build":[],"default":["cargo-build"]},"yanked":false} -{"name":"libc","vers":"0.2.6","deps":[],"cksum":"b608bf5e09bb38b075938d5d261682511bae283ef4549cc24fa66b1b8050de7b","features":{"default":[]},"yanked":false}"#); -} - -#[test] -fn lowercased() { - let td = TempDir::new().unwrap(); - let lock = td.path().join("Cargo.lock"); - let registry = td.path().join("registry"); - fs::create_dir(td.path().join("src")).unwrap(); - File::create(&td.path().join("Cargo.toml")).unwrap().write_all(br#" - [package] - name = "foo" - version = "0.1.0" - authors = [] - - [dependencies] - Inflector = "0.11.3" - "#).unwrap(); - File::create(&td.path().join("src/lib.rs")).unwrap().write_all(b"").unwrap(); - File::create(&lock).unwrap().write_all(br#" -[[package]] -name = "foo" -version = "0.1.0" -dependencies = [ - "Inflector 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "Inflector" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -"#).unwrap(); - run(cmd().arg(®istry).arg("--sync").arg(&lock)); - - let mut contents = String::new(); - let path = registry.join("index/in/fl/inflector"); - let path = fs::canonicalize(path).unwrap(); - - assert_eq!(path.file_name().unwrap(), "inflector"); - - File::open(registry.join("index/in/fl/inflector")).unwrap() - .read_to_string(&mut contents).unwrap(); - assert_eq!(contents, r#"{"name":"Inflector","vers":"0.11.3","deps":[{"name":"lazy_static","req":"^1.0.0","features":[],"optional":true,"default_features":true,"target":null,"kind":null,"package":null},{"name":"regex","req":"^1.0","features":[],"optional":true,"default_features":true,"target":null,"kind":null,"package":null}],"cksum":"4467f98bb61f615f8273359bf1c989453dfc1ea4a45ae9298f1dcd0672febe5d","features":{"default":["heavyweight"],"heavyweight":["lazy_static","regex"],"lazy_static":["dep:lazy_static"],"regex":["dep:regex"],"unstable":[]},"yanked":false}"#); -} - -#[test] -fn renamed() { - let td = TempDir::new().unwrap(); - let lock = td.path().join("Cargo.lock"); - let registry = td.path().join("registry"); - fs::create_dir(td.path().join("src")).unwrap(); - File::create(&td.path().join("Cargo.toml")).unwrap().write_all(br#" - [package] - name = "foo" - version = "0.1.0" - authors = [] - - [dependencies] - rustc-demangle = "0.1.14" - "#).unwrap(); - File::create(&td.path().join("src/lib.rs")).unwrap().write_all(b"").unwrap(); - File::create(&lock).unwrap().write_all(br#" -[[package]] -name = "foo" -version = "0.1.0" -dependencies = [ - "rustc-demangle 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -"#).unwrap(); - run(cmd().arg(®istry).arg("--sync").arg(&lock)); - - let mut contents = String::new(); - let path = registry.join("index/ru/st/rustc-demangle"); - let path = fs::canonicalize(path).unwrap(); - - assert_eq!(path.file_name().unwrap(), "rustc-demangle"); - - File::open(registry.join("index/ru/st/rustc-demangle")).unwrap() - .read_to_string(&mut contents).unwrap(); - assert_eq!(contents, r#"{"name":"rustc-demangle","vers":"0.1.14","deps":[{"name":"compiler_builtins","req":"^0.1.2","features":[],"optional":true,"default_features":true,"target":null,"kind":null,"package":null},{"name":"core","req":"^1.0.0","features":[],"optional":true,"default_features":true,"target":null,"kind":null,"package":"rustc-std-workspace-core"}],"cksum":"ccc78bfd5acd7bf3e89cffcf899e5cb1a52d6fafa8dec2739ad70c9577a57288","features":{"compiler_builtins":["dep:compiler_builtins"],"core":["dep:core"],"rustc-dep-of-std":["compiler_builtins","core"]},"yanked":false}"#); -} - -#[test] -fn clean_mode() { - let td = TempDir::new().unwrap(); - let lock = td.path().join("Cargo.lock"); - let registry = td.path().join("registry"); - fs::create_dir(td.path().join("src")).unwrap(); - File::create(&td.path().join("Cargo.toml")).unwrap().write_all(br#" - [package] - name = "foo" - version = "0.1.0" - authors = [] - - [dependencies] - lazy_static = "0.2.11" - language-tags = "0.2.2" - "#).unwrap(); - File::create(&td.path().join("src/lib.rs")).unwrap().write_all(b"").unwrap(); - File::create(&lock).unwrap().write_all(br#" -[[package]] -name = "foo" -version = "0.1.0" -dependencies = [ - "language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "language-tags" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "lazy_static" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[metadata] -"checksum language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a" -"checksum lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73" -"#).unwrap(); - run(cmd().arg(®istry).arg("--sync").arg(&lock)); - - assert!(registry.join("language-tags-0.2.2.crate").exists()); - assert!(registry.join("lazy_static-0.2.11.crate").exists()); - - let mut contents = String::new(); - File::open(registry.join("index/la/zy/lazy_static")).unwrap() - .read_to_string(&mut contents).unwrap(); - assert_eq!(contents, r#"{"name":"lazy_static","vers":"0.2.11","deps":[{"name":"compiletest_rs","req":"^0.3","features":[],"optional":true,"default_features":true,"target":null,"kind":null,"package":null},{"name":"spin","req":"^0.4.6","features":[],"optional":true,"default_features":true,"target":null,"kind":null,"package":null}],"cksum":"76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73","features":{"compiletest":["compiletest_rs"],"compiletest_rs":["dep:compiletest_rs"],"nightly":[],"spin":["dep:spin"],"spin_no_std":["nightly","spin"]},"yanked":false}"#); - - contents.clear(); - File::open(registry.join("index/la/ng/language-tags")).unwrap() - .read_to_string(&mut contents).unwrap(); - assert_eq!(contents, r#"{"name":"language-tags","vers":"0.2.2","deps":[{"name":"heapsize","req":">=0.2.2, <0.4","features":[],"optional":true,"default_features":true,"target":null,"kind":null,"package":null},{"name":"heapsize_plugin","req":"^0.1.2","features":[],"optional":true,"default_features":true,"target":null,"kind":null,"package":null}],"cksum":"a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a","features":{"heap_size":["heapsize","heapsize_plugin"],"heapsize":["dep:heapsize"],"heapsize_plugin":["dep:heapsize_plugin"]},"yanked":false}"#); - - // Modify the Cargo.toml to swap an existing library, add a new one and delete another - File::create(&td.path().join("Cargo.toml")).unwrap().write_all(br#" - [package] - name = "foo" - version = "0.1.0" - authors = [] - - [dependencies] - lazy_static = "1.2.0" - lazycell = "1.2.1" - "#).unwrap(); - - File::create(&lock).unwrap().write_all(br#" -[[package]] -name = "foo" -version = "0.1.0" -dependencies = [ - "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "lazy_static" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "lazycell" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[metadata] -"checksum lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a374c89b9db55895453a74c1e38861d9deec0b01b405a82516e9d5de4820dea1" -"checksum lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f" -"#).unwrap(); - - // Run again -- no delete unused - run(cmd().arg(®istry).arg("--no-delete").arg("--sync").arg(&lock)); - - assert!(registry.join("language-tags-0.2.2.crate").exists()); - assert!(registry.join("lazy_static-0.2.11.crate").exists()); - assert!(registry.join("lazy_static-1.2.0.crate").exists()); - assert!(registry.join("lazycell-1.2.1.crate").exists()); - - contents.clear(); - File::open(registry.join("index/la/zy/lazy_static")).unwrap() - .read_to_string(&mut contents).unwrap(); - assert_eq!(contents, r#"{"name":"lazy_static","vers":"0.2.11","deps":[{"name":"compiletest_rs","req":"^0.3","features":[],"optional":true,"default_features":true,"target":null,"kind":null,"package":null},{"name":"spin","req":"^0.4.6","features":[],"optional":true,"default_features":true,"target":null,"kind":null,"package":null}],"cksum":"76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73","features":{"compiletest":["compiletest_rs"],"compiletest_rs":["dep:compiletest_rs"],"nightly":[],"spin":["dep:spin"],"spin_no_std":["nightly","spin"]},"yanked":false} -{"name":"lazy_static","vers":"1.2.0","deps":[{"name":"spin","req":"^0.4.10","features":["once"],"optional":true,"default_features":false,"target":null,"kind":null,"package":null}],"cksum":"a374c89b9db55895453a74c1e38861d9deec0b01b405a82516e9d5de4820dea1","features":{"nightly":[],"spin":["dep:spin"],"spin_no_std":["spin"]},"yanked":false}"#); - - contents.clear(); - File::open(registry.join("index/la/zy/lazycell")).unwrap() - .read_to_string(&mut contents).unwrap(); - assert_eq!(contents, r#"{"name":"lazycell","vers":"1.2.1","deps":[{"name":"clippy","req":"^0.0","features":[],"optional":true,"default_features":true,"target":null,"kind":null,"package":null}],"cksum":"b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f","features":{"clippy":["dep:clippy"],"nightly":[],"nightly-testing":["clippy","nightly"]},"yanked":false}"#); - - contents.clear(); - File::open(registry.join("index/la/ng/language-tags")).unwrap() - .read_to_string(&mut contents).unwrap(); - assert_eq!(contents, r#"{"name":"language-tags","vers":"0.2.2","deps":[{"name":"heapsize","req":">=0.2.2, <0.4","features":[],"optional":true,"default_features":true,"target":null,"kind":null,"package":null},{"name":"heapsize_plugin","req":"^0.1.2","features":[],"optional":true,"default_features":true,"target":null,"kind":null,"package":null}],"cksum":"a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a","features":{"heap_size":["heapsize","heapsize_plugin"],"heapsize":["dep:heapsize"],"heapsize_plugin":["dep:heapsize_plugin"]},"yanked":false}"#); - - // Run for the third time -- delete unused (default) - run(cmd().arg(®istry).arg("--sync").arg(&lock)); - - // should be deleted - assert!(!registry.join("language-tags-0.2.2.crate").exists()); - // should be deleted - assert!(!registry.join("lazy_static-0.2.11.crate").exists()); - assert!(registry.join("lazy_static-1.2.0.crate").exists()); - assert!(registry.join("lazycell-1.2.1.crate").exists()); - - // index and its parent directory should be cleaned, too - assert!(!registry.join("index").join("la").join("ng").exists()); - - contents.clear(); - File::open(registry.join("index/la/zy/lazy_static")).unwrap() - .read_to_string(&mut contents).unwrap(); - assert_eq!(contents, r#"{"name":"lazy_static","vers":"1.2.0","deps":[{"name":"spin","req":"^0.4.10","features":["once"],"optional":true,"default_features":false,"target":null,"kind":null,"package":null}],"cksum":"a374c89b9db55895453a74c1e38861d9deec0b01b405a82516e9d5de4820dea1","features":{"nightly":[],"spin":["dep:spin"],"spin_no_std":["spin"]},"yanked":false}"#); - - contents.clear(); - File::open(registry.join("index/la/zy/lazycell")).unwrap() - .read_to_string(&mut contents).unwrap(); - assert_eq!(contents, r#"{"name":"lazycell","vers":"1.2.1","deps":[{"name":"clippy","req":"^0.0","features":[],"optional":true,"default_features":true,"target":null,"kind":null,"package":null}],"cksum":"b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f","features":{"clippy":["dep:clippy"],"nightly":[],"nightly-testing":["clippy","nightly"]},"yanked":false}"#); -} - -fn run(cmd: &mut Command) -> String { - let output = cmd.env("RUST_BACKTRACE", "1").output().unwrap(); - if !output.status.success() { - panic!("failed to run {:?}\n--- stdout\n{}\n--- stderr\n{}", cmd, - String::from_utf8_lossy(&output.stdout), - String::from_utf8_lossy(&output.stderr)); - } - String::from_utf8_lossy(&output.stdout).into_owned() -} diff --git a/local-registry/cargo-local-registry.crate b/local-registry/cargo-local-registry.crate deleted file mode 100644 index 1ead6a4e703f7041bbbe95a1ffb2020dc2b286e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36188 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

DUQfZS81Ag2h6Ekp4Z ztcgppwctu1;R$3lap4-#pgUlTa!x>fDskp zj4dn9IQEsR$ZFM~MPpFl1F#|mtjP;bx~-)I4TB_ zfCoWt!{p#KlUJ4Fpro+zS#3um`AZVgo@-&{W6Wke63< zqIp>N?!mwYm$+=W9}qN3mL3+PL=7;;{b&JaHAN@6uxEtbb}5$(l3Bgx?1nCWxhD#D zQ?j^kXw$31P}{+)j_V>dBn`;hD{iD=NLcT(;yAQoYLQ&zvAF;(q7wTVM8()tthF`B z=+Tiq#KXjo&c@~P(LDmr07fQ^lmM>+M~f84wR5nX+JJOam{QbtBjU>;Tp-1 z+^p>Jp>C2|`-ZovsQc)(B1x0w7D3TQEi2?wJ8VUt3=g7E%@|#Zp2Np6U>%JUl6zfw za4}m=kLDPa2|a#Vn>GakW}Kv^xdU4XMgyX;``Fs(q3NdFBO3LoVdAm*O_d3o46LbXm#5`V|&-OZ{+eeUp%tW-7 zylo_c$j(E`BkT~jLNg%JfX3XxFv;99^qch*4XCDawxnuXZzA>;UC)o;zwYYobbdMN z8Ul0Ugg$SIesP>E3j@c*p$p#$ z;M!49W+<(rj5TNpDpb32{YNKjt0efJ?}w;H^B0>o-q+LdI|$i$udbjU-dhf=sB>^G zXPb*NnYDXTRY-QF2;Zo~Fp?BR2G%Y}=7V0C3J4i$?rST?b(t5_>7lD=cs!CwMJbdj zTvaFr0z;+Tq;gqSZLklF@R3_cWKOZiB0D3s(;$se0e2k_uv&Gw=wB?3&poL1K75aP zE^BOp*IIMqW-COo09afay%{n|G#?zGN5(B~V?{nxlN*NRxb$w%;=E+lH+y}gQGp)3 zQvnD^NjaqoM&et|UFcFUf`A+Y)VF2>gW}|?9^8p|ap8^Y!Npbg! zh81z#%O&?e{iY}1{vZbL(CWBR5s0C;0+v*$7?Y12qDkCjnH2-y*kyLai_=Pzk0{Isa<-In5;eodKmtIuo}so1Cy!MLg&TGWxGlV-sVU|QQin>r3BcP!5?&WGI8>4)k+ggi_hGV(K`Wf%K7Y4NbfNV?cPe@ zw$bW|k*~MSqxX9$IY6>S^1*X;x=4TkOhF|Fr*p+R#Vphb%m9ZOHkeN7B5i2KdVLkB;(d3!#iH%HqS4}MVR0SF00=gxdwy*yXU30Of>-uha7`%kAR> znYBWM$rPb@*mszdKFdDMuU>F}-A4~_=OeO^BKI5&5*A(BX1Fhz2mFXNah{{)DwItC z7GdvmS4!EM#7Ie|o@8Y9EJ2U2`cXrgFK%ddqIUwjs2<($UOO#^K_Sz4j(h+Lnd}y5(G6R zS$(lC+R6z$UMF6 z`h#moZK3_Vx#Sd8 zWJeR}46CP!u#gpW(s{|ftpqpiDt+jgpMNo<(c;i8Cgb4vSr+ahrd$-2v&po{&_CFu zxq3x-(ngV+&U-ANp=%#43d{!<7@syqLWE;6iQBB*H=AS2J-OTB@I>;|+MTo2 zQ)t)2b9(mr>XHrKWdx?gaccqXNi@UtjIA@+{gpc#mr{i&Uf~rV6y*qdtfOdIgMNUh z#5^S5+HFbp*cI6tH*6*?KqjN(-mc!k*lO7_pKuBpr8R^L9}+cR0t^*&pD~bpc&}^(63tS`2t`WrX9bR%e1=pD|iJh__mxE;$ST*3H z%Rm&x-OJ;+y>1WpKu%|+&T2Vtz*~#`SU~XzgtSQv4C5!|qs`G& qF<}A73c1^0P zP#bhzRaNGgJQ7TY^bL33uAg?O;*mAH@p}RTo@}xDxO(PwTXOGq9;%*m-(_%BCy2hdNIn}X!G@|TG4ED zRXc67E=PYNWn(*m`ygm-Xf55?@^CbHZrs|cIBsQX_y|yNSb!tRePEgvA-br!->a6= zDKI~1aOx>)yg3uu%ST@aYTiBYuUrU&O4Zt!+!E`d=QpB?5zX;F$y zUK(APpQvO)lmXw=`)~DcUOO#!UvOsg3evN^yQWiIz zjyqF7TNk(Kw8W9%Up^pN&T5^Ndi(0d%lYb?tBto~MK-mh?=&aOtB$nQ8Qyapg60N$ zWPxKr;|&a@s4Z#k8^aVy2+#37R@(&N0NfNK(@3Bxmki*4pLVTR=d+eQ#P@*i4t@m2 zospsMTW+i}1n8^;qW{>_5rK{eW^{1=FZ%)pZ&>K913Z2^DAW zo^#a5p~ww>)WD5%T8_?nKDkQD+dztPFok5zE0ayzfIP!UNHB^+)g_}yJoGPe;P^~N3sYHTlBkod3f@5N< zio(~v=)~*kn>uS(ivuYe`uPorO~u|QweevOae#Fw$<-vCF|9?zOJ+GcFB&C^%p9&% zxGsf=nknz`=f8g4?Gi4My}wU}wuNA{2EeF9AVSP92EwOQfn?!A-ptP>tY7Lv6QKPh zM2@?`X->MV(H{@2V$+kS*YD2QdY`iRw>a_uCA-0o=&)BZ@E=q{maat5QwhKf6^<3j zTvE(P9i3F(bA4E=JvFZP1Q`YW>B&af$Hu(_z4b-yXEy{lcw-OGnKY$2u9wVG$Ibe% z*Pz?1H-_Wlpu>$ZmRX&4DPW5Qm@p~WVR16iZB&-2H~j-G`#ozo9B_EjV+<+Ct-{j> za^(34CsBz$a_3T|AVyX=souj+EAkb51J8L9;N%;Q(vOY2D^;aId zNJxbS0yyL@Xrz_0TyQvYTN&>KJG@Qe$-z2j1=R%YLlh(@)+P@04aa%fmeqLBkPn&Z z@cp(Rw-_R}X5}u^FzgQNiF>wj%~p1#5U^T=1V{3aY>UrE$HBakv&njD$8GVcQzKj_ zP(F4Lhy(M^B`MOb7Q-R=9GNcIeE|*Kvm`Fo;_oF zhkCJB3WNhBhwriwrIMVfU#M^u0z9`UK0DyrXe}p~DBFyY#S0y(;MTx83F3HFV`UHi zJE-?_pA7JaRQlQdAxH8p2CvP*ej*QcA4&j-hZrP?H?Y0r<1WgWE}(xK_yb%UlR>kE z4)?)fdew;t*v)|5Qx)HH#KU(S*C7+^ZO+_lrd1BnZXv1&f&iM#JvaE2wnTze^5nfW zHG!2m6ZyESysub1Wc8PyJ<#fE@FJhwW!;tHlMo>W5Yb}TH3*OeUTRViEhZ;2_Pmz@ z8lMjd0_X!2WmC0}EWZ&Qh<(41WF1pr~!T}HN$n-plce)41|pRR>bM* z!Gq0$!h#uOYk?+kb>C2u2J1OWW3ahJozc21{^l-5QRxaqX!re1?X7k8;8p_Ip7Xzd zCKqk=_~LGIZK8`sm0%AVy1KUDW97tMTllO)=GL$k1SS};#1x&llY&-U!N47FoYm`v z-)m(*qrB`Id}0y~=0Jz1dhkszN@j*{RPzLCg^jJTMHF}Q%sFy~iE!9arKY4q(kiyV zt;T}Q%4>1&3g8&~WV)YIww(+0&|}}(yPLxr07yW$zYs$^zMAG{t^hk=oysV%EOuyd znuDl($`jcEYg3@uN{*K6I=P~t45b9wj(w3gw{>jxM=*HYnQmFK7l0@xm}rnIp{lD? zC?#f)9!k=OBvO%FpD8)KbV2(Ng|I^P1t;HKY-hf1dA^Uk)ZoXtFhJ58PP0#$yN0LK zRnJuTOIoFrlOdI+x$$7*a3cvZ$3G^E2sZNX2VigIkUe&=c{I{+>2R+&h=LQ4lv9vGVDT1P zm(x}ySQBg*A6Ded@z&8eaA8@qiR{|)ePxAdUZqbWB2P&}WJ{R~Oh_fbCkn z(_FV&7OkVRq4ez7W09iM8FbL}W>VJG#}4joXZ^2G(7}Y94iWA7{G(5z=fq#`%9=25 zTqvb*lOU*a!#-ZT3j(Iu`A{9U24oT%L*Y}#rIu??Va_{dr*{gj_KW?nq90rfa!oN` z1=51s12J6dY6AR3-uZcKL!!|xRY(DoKtSOWcE^@aQ177@at)>}cqbaPqYst1OMFr3Ae(P-K_{ z?18L8RXsVW?-|v;9Qv}_WO;ml8HK7r#kB+U_qW}%h1%Oo07!kNV2S{27uA*NeLmiCo?x_ z^^#*znzTvf8=RMe0{Ui7vZk@%slEB^Q-CjP^Jg3)7FR+mP_eU zwgidRFmxaflXR7-R0~@qKrD^Zfm63@;>zcaTYw7N7o^vPC>|_Z7`)o1F3DTsQgg)h zez-TJ3rR_f!EkDz)jqqo+wWmP+tm7nJtg zoQtCXqK%5V`yf0_NOP)1>_u_`0I?CYGTsWAYknCmN-{zQ)9bM5#sL0O4$Bq|UeC#J zG9cqXM__tcvo(PImmtZ$0njSL-I@jW@=nQe%X6rlD6FhLw9*${Ifq^Eg!7=J@9-Jo z);s!&(7w7z|Ny&I&hS;V8~#x$+;E`2mTFm6M3MkyQ#Z3!W5fbg%kf z;Hj?;5z642Q*-WeSA`8~9sDO-;4DSL8R8K|6PpNK-I$tzKY_M{sGo@Jk5Cz%z0YohLIKc7?11}r)wvsvznj>O&~zx1SJ`C$lUp=clMVa+g-Ee27h|V zDaWPMoGsVGHKkS=oP{>L+AYb5?Xx5 zN2Bw-+|1$SNM-EpYNZQ;`yqpQHlW)EB5JvINe*CNrK#AsIa7#Khzl;64C8Brsr9a* ztm1qheH_UHm5~|rlb@-Vqt>*#CAjSH9?m|D`Iad@kYHP_xHc{e$z z-tC9Bl!cQ8@xP|1lpw%8!2h`enlWD1Xt|$ou)swcaG@HYQ`jACxYn4bzTQy%j-7jk zUN2~N5Qt%h-bp$62whOHsbO9ndu^~DUMMcN8Mr8Wvb8~TIp3rcS%Y?Hl_9AWi`e7$ z;N#Lw+S%rAK^3#>iZlf;_4%~;vTp3tVamu<+G0u!T)Dqi*!quJW-+ZB5H#yh$?+{A-t zm;iv55UO?BU_`;?C|&m0ycKw}S_RyYUGcGT5lzVzcU0xl!L9~fG4{SBL;T{pRAw88 z_C~313cRf@HnqgMll*nw-rhkLX5)O57TsNK>KUDw!1E)S4RZKW{Vgi&4R2u|ASna_ zVoK58G!9Ut(n1lil2D31$-qf3m}s53j4BXK>%;ZiqkQxnK%f^3sSaE;y>Kzt;62sK z{T|tGlZ+s!01zuJxtfdMV=O~L7RJ%JryKIlN^dV=?~+a49r`(juO!b|Zz0HLnkzae zAQ`M56nj;+s~cCK>R`*U-*H8Pn=mF1$&ZGs{pjPa;?={yxLYoFKKIyVO=Q!20F||r zt&*@UxaMT!GL8-k8`fAuKtbf7%v@>N0g?;pBp{AfP4zYUTuiUV2Qi#-X!Qi3?>uK+ z6yQfnB4y~Qkk}Hz0zoXfs|gujL=M@3{sfRbsNw)_R9w%Q@qQ5J`oydgQVi<_w~*do z(e6$yqf@AR=Sz=$@YcXrLG27@=^GWWU%4rb;36-kki^E+N~+K#L^vzyy{f@G%b~A$ zyS!H<$n7NTDI#d1p~n{rV4_zX)mx`(PS=_V`&PSJ zeU`_MGByqG{`_D801%x_-<+76Rj}{=Mm9rht*oumlq>;Zz)ELk!nLN-xcNupaAzfr zRNADJ1@8>@(SWByF0?bXhjQ*$W!Q>e-tXwXzI}%hKm7860UkV6#du*dA9Zm6Sky7_ zF^eEfiLd~#&}mTcvIXI|tB$D&T0LSHL0xcG+MqynJxiCf!^XP9_X$c(kk_FW>;_{6 zMQ8`0Ge_JFh0`S}IGXaU0KFL-Y$2NqHckkw)jmS9AKkvY@V7VSH))=+%BS4KJ70eE zrg&Mvq!)7F;f?Ff5SJaTKx9Jlu8}5#ooL~Fi%$WP9ot?-bPJa4AaT zdu)Nj&Jx2P$JH8O#DQgmNJUheg(?zqP%Shitb@?tC(W896iB*b2Ow9<)xbM^nxjt^ zYTF(7!}kA{Y#iiL4~<^A(y=gs`>=CdK1aiQ=tZXiaRPJ#Ru(us375L~Y0y*EFb}Fl zY#!=~j@mWKd`0ggk1 zDs8zSV%Ckg>5}u-=HyDU+Hn9ta!xvJy8AvFRVtZAT&XIHR;x*OjAFMt`lF{2k#z;E z5YMkPP*D_;OO|1eE2pvNxe;b14Z0a1WHx|GBcW<3Hqq5hlqT~8Q z4^n9Diq)ZcN*QBSL6PBdN759wilS=(pB0oJ1kG1=MOCb#lwjDZH-K+Finsr7dtck$ zwv8;hU$1@ztDcj{T}c*SC8|w&-NbEtHnH>APJ4P&Uj-yVn>Vtkl9C-a$$!5y1Aqi6 zN^uk0yW3;$K8;A?WiS}b8wP_UTG3~2{1zWzZxOKH5al%UF!CK#oFK#_*uHO@HYUq( zxDPCE03>LG*3ZD|^`a0gU9kVx4I!J>mc4u9sT``mUprJN^N-O=o!5B52PJ@Q8u!3~bAH2HXM8HUO>0X9Hjspa6jtg zM_|2m&{s5tdJ@|kR{;WyRJHBMAG&eqG4u#|Au0mEszLNvUJzkiBurFnx{k$|g@Ma> z6{c?j*H|-%OE!HQCD{rexbdw~AM_F5L0c>K>EvUCqGmL7IPwLCJER_F)qrL1Iwl)N zAeU?)er_|D1ZR^;UK}d!UiXadCCii5u%N-;@qI6c2J*9X(VJ)dBH@=e?RWNpF^^!S z0Lycj9ROdnMxYYGg7?AJ4lM^S#Q^mVq$|)RUjD^d;Mu_t@Wh?9!A_M+-0Q2!ziD3P z1i+tc6PTC{%z*I#W6K91a2Q!OBL|EjjFtm^FTj9#Jm=uSXa^Q(d@lQBOu0T9;cD7A zn`PMmKJ!_0`xrpYVK^EFKC*Ft1hzHs6@SD$%)jCJA)fUGTPeb{2@&YKm?_qBO$(W% zGmO@xdRm^(*;M8WXmmAv%J)`72O8Zxx+d-fo^Ks<%mn4ivLo(;p^W=R4oJB{NV`n2 z9WnTb1T#Q=nZtZ~z7sfLw}Cp1H=Q*5u}eIx4yh*txc&?piaNKB4&ZgM3CbL1AgB8h zFyI!CIl5MW`CT1Q2YBS-)u=vQ*6l=LfSRmh0`h{-bJ4C@HD5+QvheK_Pz*+H2xzm0 zL%b*oL^X&K7gJ@kp=GfEEHS(i7ac4EAGH10!RyL`7|)A>g1nA{iu>2*6EVP5Vx_r~FS0{495a^Jbd}s&09k7^r814&Fa}+wJ zhoNu`)_UxRPUtzdI~sVy$OM5Oc;T8nJAWqZZR4ch_5==1^yy&SUj%AQXksu#WW|96 z3MpQSgZ?Uphe1a%vqCoXdFY^wG{KTJM{6U}wei=7aP!d+U=KvNT?T^4bGdEfW>Nr> ziNiz%Fr?6QJ>Nzp77T9>fX3_RMlKi;pt^a?-#CNi#Sac9kli$kYewwe{GN$5vH}i5 z*khxR4@YLqq7e`&$8%+NjA>?L7wGlC92JT)~wNt-|(yj zFjw)=8u}i`%m@MK1m?gpBWE}oL{4N!o`dP0U7w>h;(>AwMwc4^M@D7R{*$vNX?E?b zt$f#JZS6N~d+l_t)T&J9hOg@&u1@E*7GWI`x4#%I&~0%85)`2jL?alz3=T~$Suss2q1D<pb*&rEM*73-X zMqomQ+y+@=4=ig0#5M#Cmw`&}#2&{Rn?E@xr3k+LNx{oxK}JTFi-#+0?hHXm$Am1n z&y2fmaXhl|j4y@+d&4*$4n15ZrVp#h9P!T`$}P+ah&=|j@PM%(#z2%IZbIY1N8gRi zh~s@|bfr;XnK8^)VEG~QozM;Ns#IXu*B;8r~=F9Zb(!3L#^ z2W9|*F>r?Q$QoK9_pNB);iX5T&mPMy%nK}!7#P?HeMjge!(9c_8sfnk*8}C4c^;2& zBRR4>+l*Yti}7AM%t_(LKHorQ7}Z@5*1z!+41og+p8K{lh(S3-`wVz5$a*tiAO~HL zf;J|uF-=gQhjz$E5ni(udn4QSU0`a>k%=ld*cz)w9Gk5M2;KY*HY1!B5bc)h+dj$5 zkp{|nv4HLLmVEQ%)O3*Bw5bA;X8gI_Fv6?=*I2^iW)au5ul}WvE z{mlj2+VNR9vLep}ZOvyUkf#Te>J1$Rdgs8gEPIHThJwx-ay$bK8g&S~Bp$7~Ml85m zXxHhgvGhcy!cSeIwr1$VzJ24_Z~{MY;>a9ffRPmdiv&^yN^m205HL>Z5?nBZ+@TYV zqR?cv1KiOcMR?(w7Y{bx6<3ayAphiWdkuLUZ)3tu%LP#YB0Ba0Kk_U$q}$9v4*`MT zm_fua^A;GhuIs`79WW7X%L@2_W3Zxsqvv2ZkNp;AJZ4Tj8i2XzIA9KfNgRM4Y?};E z#sWVZ;mwT>(7-T?LkCo7Zo8i4SQs>Dp`v-ygRdWM#{+^lp5lOGej`w8z&H+2QwA-D zt_F21&+5u#W-!!QyLt4}Z304%Bb>GvPPJfVzJh+yw%F@K|OT|5NAxYvcIY-jVU+ z-t%1p{@r((!Ev@Kh5Iztz1X-)mj=slWMaIS?SWu50&cKN{Iob@3mSczC8wC{LmL)>4IodG zw|shKOw;r&f`4V;{oXv|vxU(?;Ln%gnQ@+qj`DPdL6utogmJ{V)?6REAS6}#3)9&G zngXa>1%Gbg$xszfH^2x^#jl%I{Yv1(u-$@*J4-VX4(**Oe`h?&lJIN+WxiwZ_`mT# zp?rmW{BirF6)cl!1T|uq4UR3OK{CrLFZerlKA-aHOPGU2^-Ta1ai*1uI38S@t0A@9 ztsOb}`7(gs&k>D+d}izvr;0|XCYt{LDMWkz$>E=FFmL_ByUdh6h#ldD*XX)ih{jh^GTq#Ka zoz#w`Q+RMw!QOnz78qN7(hyHvs}P~WwK!?WZdWVFXBU%cdV0#Ulhv@xmC`Xlz^#>` zS=LI)6n^LV^kgMN9p-jQiBN(39vO>l$?J9LDCbHiCT2QU>1>Ibq&j)hSf7r9u1V1f`9+GrO=%-5N?MgCpR|Oi)g>$eq)XDO=+q>p5RsZ>EJdL%0forZC0)s`-y7xJ zKa|q#Vb`dMH{)ZABvP$HA=J8tF4Z0isrK+hRU<*B%P(A%nw$c`v{4?Nw3I;l6LRQb zT@F3`pC^Yl@c-v~Pj>f@c6&Q7cb+`k{o8HvfArxE>-^vK%zOTS7k|daKf$1l=Ynmw z))o6%u6JPMUE{ylY{`HjTZ4hqTmxAxaN5hu%RZwHK)*QMma-w=Znchg4__P^JNr+K zCkOja_m1}t_K%Do4-So2N4s6)aQEfm!P8ey@O76;J>5GxKHU4^6~1Y;%)arI$H|P? zDjLMlWm^uRZRBU@KRD-XMg}zIjmXJ)02Z|1#KHx!%y}1h^*l?XWr(l4*bWwqhPcoA{UeFLuc4XQ*rV|KzFAZgIeUTC}vP~%};@G?^2^H-7jZ2E&`exETkq> z|KwwtVjC%Zm2jc=m^wutM3zpwAg8%ZX5n;6!-v&n%+iH1P0kbS7p5#v;{`d}7(gDm(EW^hz)P-sM~$a7F9 znSt3`)KGuH`!nmaf_Fj^phAfUS}MsqnJMT6aSL3@p`0_&@z@1Rrs$uP>sjM4UF3*J zVj+|C!o)gPObUh$B?~SkPy;0s!XsNOP#{Fgn~ZQ`{SLq_y@pr|xH6EisD;IL=BNrL z?_iZo)5|S6@~5a|0?sbDfk?>P^_j-jo5w8&jm?O0D|qo52AHQAEij?QMnocl>tH{I zQv5H^!1_^(8`XT^-DCh)YFje=jH54+Rvp+;8Bqk{f}lU=8Tq@D*;_&u z9@9g5Ks$3w&2Iu+CBy6_$ltq4q!n0P0S7U{(^yXM6Xe2D5;sn6oy3cUsCp_erc4$o z_X-HGrOFHtl}1uipk`8m45|Vj*TLM?XdYelWIauZ>4L!syg)Jor56wh5x@kPq;%?q zxbTYPrwJwLw2{l}TErrieIrE&91s`-2G(d6*OSR~afBF68ygZ*x!|i%gHK^)Whrpe zE}}hPQ=%8#wE?`4azNReh?ydt7g**cau7F*yj%-}@VvWGga}5Yw+{a=p#k2OOvz3M z1rM6iNbd&LH2GP~G|DQWO%y7Sj^(c643!Dj(2KYNT{B$f zB#x=ObK-nbsr!Z4mlP@dof>#`h>GZ71o=D(m+3NxRe8>`x5&q`QgtCsh>QEG1ZTw= zAxt)s8#15vJ|LJG`a0~lYiqNn;TEG+t8249qGJp>-FdA$;|#zEIM5B~aGba?fU9>R z7g)}JUjm&>vBNM01PjrMil?@;fU#J8<0sU1Xlt<;vQl`Aqoojsk{}!H2epKB&dNcq z85&XyPX;vh_f5m-9)Vk(;0oWiK112_&E)!G-X6dX)lbpjS@v#RgNp^}>N_xen zblWqBrv#L(3$W*b8CNB*a=y_PsIY6GIIN#JQtArZlKgnS44~o^w=47clmQ(VZva#w z9CLaj#lLPL6)JYYPf1-}>8nBX61#xuu(j!U$&hjW`_4rN>hSpjR}Nm%r1Td6Ef)sJ zmN6GY)aDAbWoYS)U2syq2oy3-Q`|l#7S5-@LdAc9L!{Y4Ohd7>rNSyTHDVhyARM-s z5!D}?&!=e5r8AgcLMt*N2~;>`2_RUMRbv9QQ42ac3-&jIHJRruOK91}Su#6SMg&ht zVCieQlW&1}na;QrW5CEjX(*Ixs#C8(;}FK96pjG3P`s*O$@VW1_ewzZaeE)8TG$>r z@Ej!BVhR??spy=YGW<;JN}9r*QqTwmH%s%pM;Jor!*q$7jd+GhX2z6V=F4P(Bb@S6 z!NO(Gz%NqCMSfLfZkt#YadZK4E=^e3NLWtAl^Tu0{yFK53yk2v(NxKe^ciL9$yJ~< z{Br$BIi*w{!Q15}CkvtpmMc99Gd3#x*`RsR1fU)VJuQJ<5xtwA#2z0q;6?_5E3N)oO3Q_Gft;qg9t&a zxX`#IjF>Gkx+T!kDT0Ym2`wL{FM(kp`_WZUVS(Y_%HSBW_PPrHEr~qpEzo)s{*F?a zMWcnHZO9jrA)SEUp3IOKgoT!?j_Eo%MXuN&TEeF^dM+B#`V6%`GroXj(^Zq^S)B5R8{sxw_B?D0<}xkhr6;}M2@10)rmXjD`w!TwYO z1Xh%iRtcg3M~CnK}DQDaE$xjr}zOVJiGo??=vWrb7P-ak0rd$QYx_4IBbf{b7> z$<|ThRXylyMqAGfOJD_+G&`ytWz{hXZz2n>BrD#CM`SMyJ)Wu!$(U%F3-}50?sX8U z+GxgSBO-~Spn)l8IT|j7Us{$g7a-^>(A`)8$P{!Xa!ag~q?2##{ac+6S174is#SN5 zk;Em(K=F233ar(})2v%VD^r@6<`9w^c>`u*eHD;^2NO$74YZa;JsjIrF%u#X52P~) ze$K$eJ3iw@ELjb&+SHP87xro41_QOdv;6(SSJXmrpw;-pmMNp~alwjg2GAw|Dc5qVhXnGLG5bbdALgork@ zU63?xfTJsyL`-(r)f&}bcVQLFgc`$smA|X(dSwTuA}$M!7hS5P$s)a!4voSrsOjG& z`duRCUt?c& z|A)}J0^I|9ZSzO!Jp`ae7^1$=A0xGS29?3a#~Q`f1j&UU6^0Kk##6GNPy!H8`4X6U z&Lb|iIFQQK1jsIg^cOxuKwDvaoPyCrbbTck09if!9S;?QCeB$PA>*ek6Wb+qT_3&Q z9tx~uJVAg1NskkBp2U(e3bxm4&H=pEwO1v;|jBS0gmR1{WZ zsbK9&AB{BsGXDEAk((k~yswx&5YOp3ZlNL^fL0M{5=h(&B_G|EE6z%_Qq(L-M&7`{ z0XxIK@ifWFLcvYO*!TtXK)}USLE{CG!Idx!$&f`$My_m{FtQX%Z&A0L9=V+J5=aVk zM(ev``sqc{saKiDEp!0^!*1^!8GA=<qy{;$SA_V%BGE|Q2H%XjE7%;f+QViJ+&HY`^M`3;$3I#*yh5_-t=$ZBj7 zuy?$7{Cu|yINtB=?f-bVxBt`bi{1U>uJK~`@X0fPZ|8@-=X=M$5~=*Scf7xQB=)p- zuz{C5hcGvs_-&FCU(VAoDGX1+lI89oxhD1P!Bry>2yE1c2Zckd z@jPK7k{|4Dl#&MMCbI=WAR2&IQ}X`-bYQzGCxzOb0YX{mhWCu0P7_dyLcY~4c4WI1 zr>5|he3G0yLY$)`dx|$>AXh@LPSL6tK6=&J0{6so+P-Zjf58MR%pctuG(ppZx|F6h z%_2Kzr&Y%_R#jWo<)(E$=eYT+_DLz%y!4!-b|Ji*xVR9qGvQvfmgYcsL0ixOAJ zRovpN8<2#)Wx+F+;tiPgV(K*ZSeV|Ojr+C=9vtm76;yeerV$>BP=2+yAVAYOhT?Te zaxW3ym?hI?CZq_P#>-i$e30a-2P2^08_840f#{OwKp;qLs2|t8RoFn`L}t-NLK}Rs z3?cvmmjhRO?XqnkaKCTtgvilxc)oA{gGt```>#(xpwQ=)E>4f1~nhM7t z`Txq@U~)i$E){d)55TktHZ}{nfPF4JgOZP35pnVJ8HP4U$C1F}RDo=y!BqNeNUzvN zHi8OKvwq)H&iafPEUkyz-`mm0}wdRzeokm&CI zQxt?!vucq*C%ah7odGF<z^iQxp0rw$5+cnysnSSS zj~O&NSfB{e+xoVp^nYB{LfWV!cT$B;X41kV_EwNhp?oN|k_O~eVil*BqEohLwf@&9 zf)P~^EP&Z+T}LlorxnQPrIzM#T8*AT*SKDwQT6>oy;mu{{T3c9)H_$yOR5G?g@FgM zmlz*^3f5jWs|SUlpP|%}^VQ+>?~nET1>(P7>>c0C`R_I7f2@IHuEc-argIRu#dV()^UB zW~<^lms?aqIvmLw?Jepg;-KjWncPyJ3ez1p9k5VoE|kWJ+V3lQmN>C4R9a!!bP3L` z^jmc?iVcR{l|EM$c7uhgR+@KEYgm955O<)B-Y{{#X~fadTLpIU`SQ4h&v+Hf)oqggOvW}-1c z?hh$c73iQT96#GNjt+i21_4D$1zsK={Ji&c_o)(O-MZ`MR}fjPQe^G^_sc`{j(}9# zd-3x5-Y&e`+kf)>)ziKGpNt=%-u}U{@q7;$)9%yO@qvLI>eBGXRi{hUyoU;cWy_tUduR#UymUJlmyL(BBUHpN=-PU>G3Oj}PIoYaAaO z9v4-A*~4=XJBNEmh>#x-51@HOC)7ANY(XPXZ-19sAygZc8G%;t`PI>G(O~Q8?#^>) z>j)vx3*Srd|GDzNIEQ%?qH%-#cP-CZk^k_&d-;DS`Cs0M)1*}rc++aV{_6D)l*;1> zWaTnH>8KO3i;P_)c`r=JQqqt4HlCF2=NG5ngOxoC&mNt#e8ID=&u(k0getE=1xt|ZP|oA!luXff8pqRQ#tq6Slef{_7SXC|0|NuK z$i82dOUnp=|5V+8o zOL~#hA%a6Oz8uGsbB$D#b3DClp<@u{HR4lF-a~obUu=vM-9d+6e{Jl|V3AD45hj2j zrGQ8TouHGk@aUHb=_n3u$%3x==FJ;<99@-fS`AdJwVy8J!5?VnAs#E?GK@^j!Xizl zIZZ11R`4W`bV($+IH`blK8v7DY#?fhvt>d*7UYKnQkI<*V@`ln>^Y#Bg7j5y-?$?M`5aLMBL*l1W-pXL*)K1~9#Hq_@^JJl#8 zfgsGzhfW*>lZb#2`1&*qPrAlym5qib|8pr>&yhvJyJWt72`ySTOG8jkpg4$Uj(~z9AgH%7Oe_t%Dgac6qXd zw%cJy^7xg$#KMfzc3_g2NPJfO-$9_i~%9nLpcRvs%5hrEzULZhoCg*1t$N|+D{XkL4mvEuZ( z7`c?d$bY9*FSGP?g4x|NzS-n&?i!uf)#L^zo$B+Jj1RcJb9f8;1cS5)W+}UXw`KeA zP-~nP5-p%=<5;rQ63jA_={AT}e_aWXD7?~Fn>FM4yOBYUwda_g34T*nfrMd-a7GKtJXGwHEqZiVAZ%gqDKMIMqM@E~ymR=|?(x`Iy$leO)ytsRr@JqoAN)Et%vMWk zB3Ql9Obs+rx@(#+&QgkL?-`0}ftry`smDS<{)nQwP-HL@A~d_4_p^N4=;6nG+|?8> zdw8g|56UjJTzhBqP<8|FW1xZbu>W_W*%z|;cI{x6%Y!!RPTj~*6T@q6q!=3~2Pa-U!J_7-5f^6I_y_2i zy#?|p^%avjwu`4)QN2+A^pAG6R#EolGC%9>Nb=gr7D{`ufX z>s`3_^N&CO`d>ajiw95sxOj4Y^y1aUFQ>~FgSY>fw+uZDVr)EoNMtQKQ7dDD=E7vb zPRAn2rlBH9v#}w}w${D6@R{;o%N2W@{$Fc2Sk3?F4xM}Xe>cOYxZkt%ay&+}0;8Wm zE1!JZ!Y@P}<8cU#empL$%B%7CDWCrXL|j8Du*lQt1+2gEq4?EM=KV|IgzCxzRC`fZ zggb)ez&}7l!K zf5GNm;~C4(j`%_^3Ib4jim^QU7rF*2DSE*qtvrm!a}aV%1n3*>1Df7N6NpUl-yfE- zYzvkFf`noo<2Ijhu=+FkZJ7ZgUuDy8!Tx+LvfgyG!ET+j@OTqQkOQe5z873NJDpI! z#?b4Rj^jIr_UXkLXsIPxUg=@oSOe~V-(E8H0wAa5c z6Asm|FYPVNN}6qG>@+Frd~C*mHr*vM4kbU8)Gm>NQFB#NmDw)Gh9WFEmM%3V$0h4uu^A|Mb?ocI+x@+39ApvFNrqeg_$+_Y>+24` z1br=!M#bYRf{T8l^KC%G*eJ-}sc$*W{^jNnXQ;bk1N&u9-_F za^PTle>m9?Um_O}?pRJOevJ?9P;~N%ZQew#We#$wNpghJJ=eL9+5<1xhf3 zKp_;^J?>pCGDcA)A`V5hr&6!swF;%Tk-~LizQD~7@s7&F+BeRZ3kfl%jV+W@{3Kpa z=(2-HMumr?B%OT=wkmD*b0Fqv0nJCr*;fEjA|UU|ieu4AW$AAjy~l!I9uiF7b+#T$xMXjN zGxJUXt?Zz$D=gjSuS95Tz7ak3Sq=(S#$y;|QEdAg-2M53V`lAdwuR%T@>O_w)_qm` z?`u8_!HUErN<7#HR$3{coQ9-D<+9Z4lS-LznoJ6Is(;`5UL#F;C&^1vVv#BzC=@6i zQzI(DA0APq{{I8f+i8ot#FSh{Wm;_OO#u1{aLCRBDxuLYkxwXQxAWnH3gq4SLG6HV~Pb8U_cvf!qvJhNiv5)Q5Fr6!N+(lcj^Q_dr5jC z^;gMR9~lqde|#w4(eb1nNjG?36}S(p?NvXDMr#sUHr;BMC`}@~u|;3;irHL7po0+U z)7mKMQ7kQq4>1Rl@e%S>$AouabYv)&&`csUy0o_nx=8|h^n=2h*A#W&pAQrR)%YR2 ztuWATYXb{KS}Y7kKtzQMiw~v9=@7HhI6}x~DP`}S6vKdKir@X>J4rFEp|Z##B{nk& zmT^UbowHdIbJZT}Ph> zkBEhhN6qY<6X_3u{!$5UUf{uROV#P zb+qafZS$yP^Y1_Q-hV`X9#NVp?08FqGoYcB)`mt59yO6#f6$DkOOVow791unI!v>-iW~pqi zAXwEKQn9=hr%D!r{S$HYu>fk8@KfdxF4%)=M{t`49wZ4w^`lj5oUgTb!%p%nq)sqM zrPeHIzk+)$XF}!Ejm<(MO6QRE6TF|Ids$^ud48+zDUt0`&6av$QMait3-RO6P9%zh+eu#@ZG8n zR9$B}AAxDcqvf3_FW5~XJOvdOxs09|C$mYzpWS2y--AV&o^?`b$m;i< zH7$KCvD093ATC!lg*p$C23UDX(s*2ouLp(L0XpdrtvpZ?U0(}T9-8qBq=i^hsbFzy zVx})M{N-X%)us>g1XflX+W3XzYxCmW-p1hFaLO4S3Z$$GGZC@eDWOS3W~Q7kkXev# z13N8G*2{!0=#Z_ z!UpFn@6;p^0F46q1Ac5`qf)euS9T1l6OWOcIQ1QDXC1F2jqB|x2_xgHM-{oGYd$r$ zTLoBdQ;o;pq5FOE__5xLj)VSu2@2T*0%%Q%9Q3w2ivc`ORF*-B#-hAft-sCMI^j03 z`qB@D6BC1l-lyF;T3dPt=o$&G7C0@H<)u@6g>`C*2P!ZnVOCw#{2lV}*{Ni|Vyi;# zsXcDyomDI&Q41}<`u-ed^#hV>6RqHTNl+6iNRGAiZC#SC5MLwZsXvaz_(VvD)}||= zBn^G4)VXGeb&U_$@CP9h_$JtuAbpKs6p41HCD6vli_r7}SuqB){LHi+~pm3QPsl)PST! zi4mh`m;xOYZMG_g0XTj>UtB3arPgzQh6*>S{IlBb6iBy3p{VaIuhW*Tn&4XtK$a+~6x!8uBkn}AwB%3P{PHSTtN&4(X?-_(CAvlbBebl%rDzufK`yEZyr@C2suvWIEm%=K70gM@ zPX58jD>zU}P*aO#91XSz;zGS>D!dwCgO!#!&nNXyP1RKl4&hw}+bN*c^9M;Y-xSvv zH>;~Ji?BV6)YtaO^352m)_oG6YE=tARtT@(f80W!RYMaW8{UZ!A^|!M51$)}TU_Em zVUqwlg$lE<;7{89&=vj!Y!**v>a3_FwNJ3C&fBhWvDL(}C`1Ulx~MFm_yWwx zi^e6?YztGw(29wRf1S5gmU6MR2}uPen%R39HCJ)rtrEKkC0u9om*sE@$|r?SZ68rY z7fKOSa}KC;qIJ6!mU!pEiu;`+tfJ0ZYireYw5~u2o(f(hS{9pq-Fg&9q}wVhMu?2( z)5Iqd9(uWd?<=RaH%?|QGF|1|H< zf8Ndc&vzjHW+GhBSn%^XS}P!nKIa(1x|0VYYXxnvVbTKa6UF$C-yh5{Z1}|zIGFtB zrzOjxj}i_A)_8mjzn&)9x5VSab5yjDughcz?<=+r?RZrJD)>9TVkVyR{yZ(7lGvzv zC{a$fb#1O%{$tSwy1^R{I<{*j7(fkhNsxuyD0Y6~8^*JB+RaVK$SEj=QcfJTHTL%R zj>iUK5Sqn*3RxrzV5b;dJ2t+-pM+lW!96kt7y?UgCjzCoIV^Bm&cb&OMMGVqblfdx zIg54W1fl3-sPQBP5LP#fDFpbD@k9C!L*zl;W$dy;PY5h^CVrww(sw$w-<@x;m94%2 zvY5wG?tlFnS=I>-1mlzoEj(M!Iz%i2xgv_Wt-7gyJ)^}UFcM_ZN^xx&9HKU96Veeyo%ooew3|NX0u=%H)0+bd&< z@&(3Bsk(PFA_;h$rtMFT4hn65(Fn=!IT44vBt_rIASo%!Bcl#)nX#o^iEJ+7_UaYt z>$HB3)@?Dc&Zy>%^-_Pn~X)z-x--LI)oZXal8TksN6v^@taO9YS| zPRawF_bcQsS4i2cPHbh{I60yXtM9e{Y744mv}u53WEcfK|9x{>LUo#~CpIhF-4-Ta zYk&gVu7Lslv|BQR9lZFg9@`CUpa>^#r!y|i>p#sJzKA0k5rufSOd*TQ^e;mpUL%F*HNW~aacP=e>-xSm&6oDcan($OGUR5R zyR9~Pn$RsmiDYRtr@Ym4CbbZ8XX+Q6~=q5F21(CfQPorc;F2NL0|@>z!}DlKXTc~VWY@lmS+x~VfzME zcRX9%{+Hv#W-}|U8T@+0d4VqjkoxwT2ioNoVc*ejIA2Mb1&rum6&?DuMSpA z(__lZz{yWhbDV5X`F6n^Zl9uyt}0XwOsJrZIt69?cX;@}KtYwMMjBEvYjT1MI-Qio zFfU}cEh5m`a?u{(hGy}%1k7wHhrXJ*!Xs=ue#sQ(UZe2(~EN#Y1*l zN7oV+D*)cQyeLUP7aAt%tSfpo`{QaNqPj};7O1yB*r4DFJ@)4GYrq@OmfroXcdi?q zjyH_`Q4n}$?3r#nvWB+p`ax`l{>XP+5SXFKnZq2HfiCTjVlxV(0a&Rq54anxl|Ah< z&MvMlIp#-gLx=h!e66D%aR8+-PH zVb$5>Gzdj`ZDck<180%Ua^3S|ZuC9fv}nXz67EniOI+oPsCTK-2=)jDU1Ek|I0SPo za#clx?dY z5D0{(C;-1vBFY(__tF@FClj?{5=HszNJmOcG@-m*_X6^tv`t!SJw=Fs+15VKPL}{o zZy^#2QvvHQxn)`zDGl?BT&6l=1y*mtYpTP%;?T5i&3&qA$}90D=8g2KazUK5+UoeL zag#HIz%k#9Mk6QiJZ~6A-oOh2mw7&8z(xIljZBl7V5x-O$TwX+9Jn422P5Wq+_z2N zXYC4XH#XY{+R%#!wjB;xAMvn4^+%h~mj&nQaX$X}l%ruccxG zt?5nS*N{)A>XX@|T;I7aTtZCXez7J@Bc$Qoh8Encj!Hz|o(_zITIumN_1~MC71Dm~ zp%ae$z>fmg9r>=~+6>;9+#ZcQGx8%2JSP~KfirL!?hXUF%d;R=g zKmV7}&s&?RLQJKbvkVi8(fo?Dk(I>Rb2dxDY8qRRW$(w|fBbFM1NkK`)&6bvzI^6chR@JF z0Jf66TJ6x$Jxa?(Jeo|?JiqEZC}6<`w?3yHbi7r`33<)F#MON1rO1$cpMLlL@BZ)p Q?+*X|KRh~JO8`Ow0KewWLjV8( diff --git a/src/main.rs b/src/main.rs index 43d148c..39a0f5a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -75,6 +75,12 @@ struct Cli { help = "Disable downloading the toolchain for major speed ups" )] no_download_toolchain: bool, + #[arg( + long = "no-build-crates", + default_value_t = false, + help = "Disable running the build.sh file for crates(mostly used for debugging)" + )] + no_build_crates: bool, } fn move_files_in_directory(src_dir: &str, dest_dir: &str) -> std::io::Result<()> { @@ -181,10 +187,10 @@ fn main() { let file = TemplateAssets::get(&ele).unwrap(); let ele = std::borrow::Cow::Borrowed(ele.split_once("/").unwrap().1); + let ele = ele.replace("template.Cargo.toml", "Cargo.toml"); + let ele = ele.as_str(); - let path = dir - .join(PathBuf::from("crates")) - .join(PathBuf::from(ele.as_ref())); + let path = dir.join(PathBuf::from("crates")).join(PathBuf::from(ele)); let prefix = path.parent().unwrap(); std::fs::create_dir_all(prefix).unwrap(); @@ -207,25 +213,27 @@ fn main() { .unwrap(); } - let mut build_c = std::process::Command::new("bash"); - let mut build = build_c.arg( - dir.join(PathBuf::from("crates")) - .join(PathBuf::from("build.sh")), - ); - build = build.env( - "CARGO_BIN_FILE_CARGO_LOCAL_REGISTRY", - env!("CARGO_BIN_FILE_CARGO_LOCAL_REGISTRY"), - ); - if args.quiet { - build = build - .stdout(Stdio::null()) - .stderr(Stdio::null()) - .stdin(Stdio::null()); - } - if args.save_temp { - build = build.arg("save") + if !args.no_build_crates { + let mut build_c = std::process::Command::new("bash"); + let mut build = build_c.arg( + dir.join(PathBuf::from("crates")) + .join(PathBuf::from("build.sh")), + ); + build = build.env( + "CARGO_BIN_FILE_CARGO_LOCAL_REGISTRY", + env!("CARGO_BIN_FILE_CARGO_LOCAL_REGISTRY"), + ); + if args.quiet { + build = build + .stdout(Stdio::null()) + .stderr(Stdio::null()) + .stdin(Stdio::null()); + } + if args.save_temp { + build = build.arg("save") + } + build.spawn().unwrap().wait().unwrap(); } - build.spawn().unwrap().wait().unwrap(); write( dir.join(PathBuf::from("crates")) .join(PathBuf::from("README.md")), diff --git a/src/template/Cargo.toml b/src/template/template.Cargo.toml similarity index 100% rename from src/template/Cargo.toml rename to src/template/template.Cargo.toml